maven中增加插件在springboot项目的jar包中插入svn版本号
为了方便管理项目,需要在打包时往项目中插入svn版本号,提交时间,打包时间,方便溯源。
1.添加插件
<build>
<!-- 设置构建的 jar 包名 -->
<finalName>${project.artifactId}</finalName>
<plugins>
<!--获取svn版本号插件-->
<plugin>
<groupId>com.google.code.maven-svn-revision-number-plugin</groupId>
<artifactId>svn-revision-number-maven-plugin</artifactId>
<version>1.13</version>
<executions>
<execution>
<phase>validate</phase>
<goals>
<goal>revision</goal>
</goals>
</execution>
</executions>
<configuration>
<entries>
<!--默认-->
<entry>
<!--调用前缀-->
<prefix>svn1</prefix>
</entry>
<!--指定目录-->
<entry>
<path>${project.basedir}/src/main/resources/META-INF/resources/demo</path>
<prefix>svn2</prefix>
</entry>
</entries>
</configuration>
<dependencies>
<dependency>
<groupId>org.tmatesoft.svnkit</groupId>
<artifactId>svnkit</artifactId>
<version>1.9.3</version>
</dependency>
</dependencies>
</plugin>
<!--往jar包设置svn版本号-->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>3.2.0</version>
<configuration>
<archive>
<compress>true</compress>
<addMavenDescriptor>false</addMavenDescriptor>
<manifest>
<addDefaultImplementationEntries>true</addDefaultImplementationEntries>
<addDefaultSpecificationEntries>true</addDefaultSpecificationEntries>
</manifest>
<manifestEntries>
<SVN-Revision>${svn1.committedRevision}</SVN-Revision>
<SVN-CommitDate>${svn1.committedDate}</SVN-CommitDate>
</manifestEntries>
</archive>
</configuration>
</plugin>
</plugins>
</build>
2.接着在程序中读取jar包中的MANIFEST.MF文件即可获取插进去的SVN版本和SVN提交时间
3.可以写一个HTTP接口,就可以通过命令在后台直接获取版本信息
curl -k --insecure 'http://ip:port/XXX'