1、配置profiles
a.首先先配置profiles,有多少个环境就配置多少个profile
<profiles>
<!-- 默认打包-->
<profile>
<id>default</id>
<properties>
<jarName>eshore-admin</jarName>
</properties>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
</profile>
<profile>
<id>dev</id>
<properties>
<jarName>code-chain-dev</jarName>
</properties>
</profile>
</profiles>
2、配置build中finalName
这里finalName使用profiles中定义的jar包的名称
像我这里,默认环境使用eshore-admin,测试环境使用code-chain-dev
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<version>2.1.1.RELEASE</version>
<configuration>
<fork>true</fork> <!-- 如果没有该配置,devtools不会生效 -->
</configuration>
<executions>
<execution>
<goals>
<goal>repackage</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<version>3.1.0</version>
<configuration>
<failOnMissingWebXml>false</failOnMissingWebXml>
<warName>${project.artifactId}</warName>
</configuration>
</plugin>
</plugins>
<!-- 这里通过profiles的环境进行获取-->
<finalName>${jarName}</finalName>
</build>
3、测试
如果是默认环境,则使用
mvn clean package -Dmaven.test.skip=true
如果是dev环境,则使用
mvn clean package -Pdev -Dmaven.test.skip=true
- 这里的dev是profile中配置的id,如果自己有变动的话, -Pdev 也需要变动
之后就可以在target中看到不同的jar包了