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>
了解更多信息。 请参考依赖关系:复制官方页面以获取更多信息。