我有一个多模块maven项目,我的web项目的pom.xml文件如下所示:
<parent>
<artifactId>myapp</artifactId>
<groupId>com.myapp</groupId>
<version>1.0</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>myapp-web</artifactId>
<packaging>war</packaging>
<name>myapp-web Maven Webapp</name>
<url>http://maven.apache.org</url>
这是一个spring MVC应用程序,我还有一个嵌入式jetty实例:
Server server = new Server(8080);
WebAppContext webAppContext = new WebAppContext();
webAppContext.setContextPath("/");
webAppContext.setWar("file:/path/to/war/myapp-web.war");
webAppContext.setParentLoaderPriority(true);
server.setHandler(webAppContext);
server.start();
server.join();
我使用maven构建Web项目:
mvn clean package
令我感到困惑的是,当我解压缩构建期间生成的maven的myapp.war文件时,我查看了lib文件夹,我没有看到web项目的.jar文件?
另外,如何使用.war文件运行嵌入式jetty?
答案 0 :(得分:0)
最终创建战争的Web项目的内容应该直接进入战争中的WEB-INF / classes,而不是直接进入jar文件。
只要您正确设置了嵌入式Jetty,就可以使用
运行战争java -jar myapp-web.war
配置将涉及创建main方法,添加正确的jetty依赖项,以及在生成清单时指定主类。
jetty-console-maven-plugin可能是设置所有这些的更简单的选择。请查看本指南:http://www.dzone.com/links/r/make_your_war_file_executable_with_the_jetty_cons.html