我可以添加到pom.xml中,将生成的WAR文件从目标目录复制到Tomcat的webapps
目录吗?
答案 0 :(得分:64)
<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文件。
答案 1 :(得分:15)
我使用了Maven WAR插件: http://maven.apache.org/plugins/maven-war-plugin/usage.html
答案 2 :(得分:7)
答案 3 :(得分:6)
你也可以看一下jetty插件。只需键入“mvn jetty:run-war”,jetty应该运行你的war文件。
编辑:Jetty是一个轻量级的servlet容器,适合开发和测试。它起步也很快。
答案 4 :(得分: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>
这会将war文件放在C:\ Tomcat7 \ webapps文件夹中,并带有maven项目的名称。
答案 5 :(得分:5)
或者,您可以让tomcat查看目标目录并直接从那里进行部署。
在context.xml或server.xml的Context元素中:
<Context path="" docBase="/path/to/target/exploded">
...
</Context>
然后你可以使用战争:爆炸目标来制造爆炸战争。
答案 6 :(得分:3)
不理想,但是如果您有一个非常奇怪的应用服务器设置,您可以随时使用一个解析任务集来执行包装
<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>
答案 7 :(得分:1)
您也可以使用dependency plugin
执行此操作答案 8 :(得分:1)
感谢上述所有答案。
以下答案适合我。这只是一个巩固的。没什么特别的!
</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>
了解更多信息。请参考dependency:copy官方 页面了解更多信息。