我有一个多模块Maven项目,以及我的网络项目的pom.xml文件看起来像:大厦Maven项目,不包括web项目的jar文件
<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>
这是一个春天MVC应用程序,我有一个嵌入式码头实例也:
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
那么,什么是confusi当我解压Maven在构建期间生成的myapp.war文件时,我查看了lib文件夹,并且没有看到web项目的.jar文件?
另外,如何使用.war文件运行嵌入式jetty?
你指的是在你的'myapp-web'项目中定义的类吗?那些绑定到'WEB-INF/classes'中,而不是'WEB-INF/lib'中的JAR。如果您打算使用嵌入式服务器运行项目,那么构建WAR并不是特别有用,为什么不构建[superjar](http://code.google.com/p/onejar-maven-plugin/)? – Perception 2013-02-25 04:33:39
@Perception为什么Jetty有.setWar()方法呢?我很抱歉抱歉。如果我构建一个superjar或uberjar(使用maven遮罩?),那么我将如何使用setWar()? – Blankman 2013-02-28 04:36:21
无视我以前的评论,这是一个泛化。更多关于主题,你有没有阅读[this](http://eclipsesource.com/blogs/2009/10/02/executable-wars-with-jetty/) – Perception 2013-02-28 04:46:42