3

我与一个简单的 Jersey REST 服务发生了争执,我需要将该 jar 与 Jetty 中的/with 捆绑在一个胖 jar 中,以便在共享后它可以作为一个整体运行。有人可以指点我如何做到这一点的说明吗?我找不到与我的用例相关的东西。

提前致谢!

4

1 回答 1

3

我相信您正在寻找的是将 Jetty 嵌入到您的 jar 中,因此您可以使用以下命令启动您的应用程序:

java -jar myApp.jar

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

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

将 Jetty 嵌入为 Servlet 容器

嵌入码头

如果你能提供更多细节,那就太好了。

编辑

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 中可用。

于 2013-11-13T08:38:11.323 回答