我有一个小宠物 web 应用程序项目,我想向自己没有应用程序服务器的人展示(并且对应用程序服务器一无所知)。
什么是他们让我的 WAR 文件以零配置运行的最简单和最快的方法,最好是我可以随 WAR 文件一起发送或捆绑的东西?例如,是否有精简版的 Jetty?还有什么?
我有一个小宠物 web 应用程序项目,我想向自己没有应用程序服务器的人展示(并且对应用程序服务器一无所知)。
什么是他们让我的 WAR 文件以零配置运行的最简单和最快的方法,最好是我可以随 WAR 文件一起发送或捆绑的东西?例如,是否有精简版的 Jetty?还有什么?
您可以轻松地自己创建精简版。
http://docs.codehaus.org/display/JETTY/Embedding+Jetty
http://jetty.mortbay.org/xref/org/mortbay/jetty/example/LikeJettyXml.html
要运行嵌入式 Jetty,您只需要类路径中的以下 jar:
* servlet-api-2.5-6.x.jar
* jetty-util-6.x.jar
* jetty-6.x.jar
/usr/local/jetty-6.1.4/lib> ls -la servlet-api-2.5-6.1.4.jar jetty-*
-rw-rw-r-- 1 wwwrun admin 476213 2007-06-15 08:42 jetty-6.1.4.jar
-rw-rw-r-- 1 wwwrun admin 128026 2007-06-15 08:40 jetty-util-6.1.4.jar
-rw-rw-r-- 1 wwwrun admin 131977 2007-06-15 08:40 servlet-api-2.5-6.1.4.jar
很轻...
或者,Maven插件也可以工作。
如果您使用的是 maven,那么有一个 jetty maven 插件可以将您的战争部署到 jetty 的嵌入式实例。
但即便如此,取决于你的应用需要什么样的东西,jetty 甚至 tomcat 会做什么。
如果您不知道或不想与 maven 混淆,您可以尝试 Jetty-runner
https://svn.codehaus.org/jetty-contrib/trunk/jetty-runner
jetty-runner.jar 是一个可以从命令行运行的 jar 文件,如下所示:
java -jar jetty-runner.jar my.war
我肯定会创建一个嵌入码头并使用你的战争的可执行jar。maven 的东西可能没问题,但是自己编写单个 main 函数很容易。