构建maven项目,不包括web项目jar文件

时间:2013-02-25 03:15:33

标签: java maven jetty

我有一个多模块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?

1 个答案:

答案 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