我使用maven的tomcat插件将我的Web应用程序部署到tomcat服务器。现在我需要在不同位置使用相同的war文件(不直接部署到tomcat服务器)。这样我就可以手动将我的war文件复制到另一台机器并进行部署。
我目前的pom.xml配置是
<profiles>
<profile>
<id>staging</id>
<build>
<pluginManagement>
<plugins>
<plugin>
<groupId>org.apache.tomcat.maven</groupId>
<artifactId>tomcat7-maven-plugin</artifactId>
<version>2.2</version>
<configuration>
<url>http://localhost:8080/manager/text</url>
<server>mytomcat</server>
<path>/project1</path>
<username>xxxxxxx</username>
<password>xxxxxxxx</password>
</configuration>
</plugin>
</plugins>
</pluginManagement>
</build>
</profile>
您可以使用配置文件。
<profiles>
<profile>
<id>otherOutputDir</id>
<build>
<directory>yourDirectory</directory>
</build>
</profile>
</profiles>
参考
Maven: How to change path to target directory from command line?和
Maven: specify the outputDirectory only for packaging a jar?
最简单的方法是将Spring Boot Maven Plugin
添加到项目的pom.xml(使用Maven 3.2或更高版本),如下所示:
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<version>2.0.5.RELEASE</version>
<executions>
<execution>
<goals>
<goal>repackage</goal>
</goals>
</execution>
</executions>
</plugin>
以及你需要的神器类型,即你的pom的jar
标签中的war
或project
,如下所示:
<packaging>war</packaging>
接下来每当你运行maven的package
阶段(例如用mvn package
命令)时,工件将在target
文件夹中生成。 Spring文档here中提供了更多相关信息。
有关生成war / jar工件的其他方法,请参阅此Baeldung article。