Maven:将WAR复制到Tomcat的webapps目录

l15*_*15a 42 tomcat maven-2

有什么我可以添加到pom.xml,将生成的WAR文件从目标目录复制到我的Tomcat webapps目录?

小智 66

<build>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-war-plugin</artifactId>
            <configuration>
                <outputDirectory>U:\JBoss6\server\default\deploy\</outputDirectory>
            </configuration>
        </plugin>
Run Code Online (Sandbox Code Playgroud)

将它添加到pom.xml后,可以通过调用mvn package或复制WAR文件mvn war:war.


l15*_*15a 15

我使用了Maven WAR插件:http: //maven.apache.org/plugins/maven-war-plugin/usage.html

  • 要添加的代码是:maven-war-plugin artifactId的配置标记中的<outputDirectory> </ outputDirectory> (6认同)

Ben*_*eim 6

你也可以看一下jetty插件.只需键入"mvn jetty:run-war",jetty就应该运行你的war文件.

编辑:Jetty是一个轻量级的servlet容器,适合开发和测试.它起步也很快.


小智 6

这是正确的方法:

        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-war-plugin</artifactId>
            <version>2.3</version>
            <configuration>
             <warName>${name}</warName>
             <outputDirectory>C:\Tomcat7\webapps</outputDirectory>
            </configuration>
        </plugin>
Run Code Online (Sandbox Code Playgroud)

这将把一个war文件放在C:\ Tomcat7\webapps文件夹中,其中包含maven项目的名称.


Cla*_*lay 5

或者,您可以让tomcat查看目标目录并直接从那里部署.

在context.xml或server.xml的Context元素中:

<Context path="" docBase="/path/to/target/exploded">
...
</Context>
Run Code Online (Sandbox Code Playgroud)

然后你可以使用战争:爆炸目标来创建爆炸战争.