maven分环境打包生成不同的jar包名称

本文介绍了如何使用Maven配置不同环境的profiles,以及在build中设置finalName以根据环境打包不同的jar包。通过配置default和dev两个profile,可以在打包时通过命令行参数选择对应的环境,例如使用`mvn clean package -Dmaven.test.skip=true`默认打包,或者`mvn clean package -Pdev -Dmaven.test.skip=true`打包dev环境。这种方法使得在target目录下可以生成对应环境的jar包。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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
image.png

    <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包了
image.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

WalkerShen

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值