我在使用简单的Jersey REST服务时遇到了麻烦,我需要将该Jet jar与Jetty捆绑在一起,或者将其打包在一个胖子jar中,以便共享后可以整体运行。可以请我指出如何执行此操作的说明吗?我找不到与用例相关的内容。

提前致谢!

最佳答案

我相信您正在寻找的是将Jetty嵌入您的jar中,因此您可以通过以下方式启动应用程序:

java -jar myApp.jar

并且您的REST服务将启动并运行,而无需在Jetty(或tomcat等)中部署war文件或关心其他依赖项。那正确吗?

如果是这样,请寻找如何将码头嵌入您的应用程序。
这里有一些例子:

Embedding Jetty as a Servlet Container

Embedding Jetty

如果您可以提供更多详细信息,那就太好了。

编辑
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端口提供。

09-10 08:49
查看更多