这是我想做的。我创建了一个maven项目,并在eclipse中为它配置了jetty插件......
所以从Eclipse开始,如果我运行并将maven目标设置为jetty:run
,它将在jetty中运行我在web.xml中指定的端口上的项目。现在我想构建jar文件,当我java -jar myapp.jar
时,它会自动调用jetty:run
。
我该怎么做?
答案 0 :(得分:3)
如果要打包应用程序以便将其交给某人并让它们作为独立应用程序运行而无需将war文件部署到Web容器中,那么这与执行{ {1}}在开发时,我会调用该部署时间以避免混淆
在部署时,我们不能假设机器上有maven,因此没有mvn jetty:run
,即使有,也不会有效,除非我们提供源代码来运行像在开发环境中一样构建!
可以通过将应用程序之战中的jetty jar与Main类捆绑在一起来打包独立的Web应用程序,以编程方式启动jetty,并让它运行应用程序之战。这依赖于WAR和JAR的文件和目录结构不同的事实,因此两者之间没有明显的重叠,这使得这种解决方法成为可能,并且它还留下了部署war文件的选项。可以使用Web容器
有一个maven plugin嵌入winstone,这是另一个轻量级的servlet容器