【问题标题】:Start servlet container (Jersey Jax RS) from command line从命令行启动 servlet 容器 (Jersey Jax RS)
【发布时间】:2018-06-30 14:40:56
【问题描述】:
我将一个开源应用程序打包为 Jar(仅限命令行)和 War。我想包括一个中间选项,即从命令行作为服务器运行(对于不熟悉 Java、Servlet、Tomcat 等的人)有没有一种很好的方法呢?理想情况下,我不想编写和维护代码,只需包含一些 deps,将 main 指向我的 War/Resource 类和 java -jar thejar.jar -port 8080 并让它为我启动一个服务器。
谢谢!
【问题讨论】:
标签:
java
tomcat
servlets
glassfish
jetty
【解决方案1】:
使用 Payara Micro(与 GlassFish web 兼容),您可以将战争、特定参数(即--port 8080)及其依赖项打包到“Uber Jar”中。这将允许您使用 java -jar thejar.jar 启动您的应用程序。
为此:
从payara.fish/downloads下载Payara Micro。
使用以下命令运行 Payara Micro:
java -jar payara-micro-4.1.1.162.jar --port 8080 --deploy test-app.war --outputUberJar thejar.jar
这将完成并为您留下一个与您的应用程序捆绑在一起的小型服务器 (~60MB),您可以使用命令 java -jar thejar.jar 启动它。
更多详情,请参阅payara.fish上的博客