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

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

 <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-war-plugin</artifactId> <configuration> <outputDirectory>U:\JBoss6\server\default\deploy\</outputDirectory> </configuration> </plugin> 

一旦你将它添加到你的pom.xml中,你可以通过调用mvn package或者mvn war:war复制WAR文件。

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

你也可以看看docker插件。 只要input“mvndocker:运行战争”,docker应该运行你的战争档案。

编辑:Jetty是一个轻量级的servlet容器,适合开发和testing。 这也是闪电快开始。

这是正确的做法:

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

这将把一个战争文件放在C:\ Tomcat7 \ webapps文件夹中,并使用maven项目的名字。

或者,你可以让tomcat查看目标目录并直接从那里进行部署。

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

 <Context path="" docBase="/path/to/target/exploded"> ... </Context> 

然后你可以使用战争:爆炸的目标来制造你的爆炸战争。

不理想,但是如果你有一个非常奇怪的应用程序服务器设置,你可以总是使用一个antrun任务集来执行包装运行

 <build> .... <plugins> <plugin> <artifactId>maven-antrun-plugin</artifactId> <executions> <execution> <phase>package</phase> <configuration> <tasks> <!-- Ant copy tasks go here --> </tasks> </configuration> <goals> <goal>run</goal> </goals> </execution> </executions> </plugin> </plugins> </build> 

你也可以用依赖插件来做到这一点

感谢所有上述的答案。

下面的答案适用于我。 这只是一个巩固的。 没什么特别的!

 </project> ........ <build> <finalName>HelloWorld1</finalName> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-war-plugin</artifactId> <configuration> <outputDirectory>C:\Program Files (x86)\apache-tomcat-8.5.8\webapps\</outputDirectory> </configuration> </plugin> </plugins> </build> </project> 

了解更多信息。 请参考依赖关系:复制官方页面以获取更多信息。