【发布时间】:2013-11-13 07:30:32
【问题描述】:
我与一个简单的 Jersey REST 服务发生了争执,我需要将该 jar 与 Jetty 中的/with 捆绑在一个胖 jar 中,以便在共享后它可以作为一个整体运行。有人可以指点我如何做到这一点的说明吗?我找不到与我的用例相关的内容。
提前致谢!
【问题讨论】:
我与一个简单的 Jersey REST 服务发生了争执,我需要将该 jar 与 Jetty 中的/with 捆绑在一个胖 jar 中,以便在共享后它可以作为一个整体运行。有人可以指点我如何做到这一点的说明吗?我找不到与我的用例相关的内容。
提前致谢!
【问题讨论】:
我相信您正在寻找的是将 Jetty 嵌入到您的 jar 中,这样您就可以使用以下方式启动您的应用程序:
java -jar myApp.jar
您的 REST 服务将启动并运行,无需在 Jetty(或 tomcat 等)中部署 war 文件或关心其他依赖项。对吗?
如果是这样,请查看如何将 jetty 嵌入到您的应用中。 下面是一些例子:
Embedding Jetty as a Servlet Container
如果您能提供更多详细信息,那就太好了。
编辑
public static void main(String[] args) throws Exception {
Server server = new Server(9001);
Context context = new ServletContextHandler(ServletContextHandler.SESSIONS);
context.addServlet(new ServletHolder(new ServletContainer(new ResourceConfig(YourRestService.class)));
server.start();
}
导出到 .jar,并在终端中运行:
java -jar myApp.jar
您的休息服务将在 9001 端口可用。
【讨论】: