maven打包时根据不同的环境生成不同的jar包名称

一般情况下我们可以通过maven中的<finalName>标签指定最终生成jar/war包的名字。如下图

但是,这样有一个缺点,就是无论选择哪个环境进行打包,最后生成的jar/war包名字都是一样的,都是nmr-web.jar。

现在的需求是当我选择dev环境进行打包生成的jar包名字是nmr-web-dev.jar,当我选择sit环境进行打包时生成的jar包名字是nmr-web-sit.jar。这该如何实现呢?

很简单,我们先在每个profile中的properties下自定义一个<fname>便签,标签内容与最好与所在环境名称保持一个,这样见名只义。然后在将<finalName>标签的内容改为nmr-web-${fname}。

具体操作如下图:

下面进行测试:

一,

mvn clean package -Psit -Dmaven.test.skip=true

选择sit环境进行打包,查看生成jar包的名称

二,

mvn clean package -Pdev -Dmaven.test.skip=true

选择dev环境进行打包,查看生成的jar包名称

 如上所示,我们已经做到maven打包时根据对应的环境生成对应jar包名称的需求

原文地址:https://www.cnblogs.com/misterwu/p/14330815.html