一般情况下我们可以通过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包名称的需求