springboot 打包自定义包名
前一篇文章《springboot 不同环境配置问题》提到了根据spring profile机制进行不用环境的打包:
https://www.cnblogs.com/su-melody/articles/12340507.html
本文在提一下如何简单的自定义打包时输出的包名。
1. 自定义包名属性
在pom文件的profile节点中追加一条property,自定义属性名称作为打包输出的名字。如下:
<!-- 使用profile机制针对不同环境打包。命令行采用mvn -P 环境名 来执行打包 --> <profiles> <profile> <id>dev</id> <properties> <package.env>windows</package.env> <!-- 自定义名称 --> <package.buildName>development</package.buildName> </properties> <activation> <activeByDefault>true</activeByDefault> </activation> </profile> <profile> <id>test</id> <properties> <package.env>test</package.env> <package.buildName>test</package.buildName> </properties> </profile> <profile> <id>prod</id> <properties> <package.env>prod</package.env> <package.buildName>prod</package.buildName> </properties> </profile> </profiles>
2.引用自定义的属性名
这次在pom的build节点追加<finalName>属性,引用自定义的属性名。如图:
详细节点配置如下:
<build> <!--最终打包名,打jar包在此配置。 此处引用变量${package.buildName} --> <finalName>${project.artifactId}-${project.version}-${package.buildName}</finalName> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> </plugins> <!-- 因增加了profiles节点指定环境配置,故build节点中要增加resource来指定文件所在 --> <resources> <resource> <directory>src/main/resources</directory> <!-- 过滤属性需要设置为true才会用指定文件覆盖原来的配置 --> <filtering>true</filtering> <includes> <!-- 定义要纳入的文件,这里*代表所有properties,xml后缀的配置文件 --> <!-- 注意:一旦这里include,那么只会加载include中的文件,没有指定的文件在打包的时候不会被加载,所以这里要么针对性的明确加载哪些文件,要么全部加载 --> <include>**/*.properties</include> <include>**/*.xml</include> </includes> </resource> </resources> </build>
至此,再打开cmd命令,在项目所在根目录执行打包命令就可以得到自定义包名的jar包了。
mvn -D maven.test.skip=true -U clean package -P test

莫道山前无路,迟早柳暗花开。把秤皆有天地在,自是公平买卖
浙公网安备 33010602011771号