Java如何在运行时获知自身Jar的版本
按照Java Specification应当可以通过
getClass().getPackage().getImplementationVersion()
或者
getClass().getPackage().getSpecificationVersion()
实际上,这个值是依赖Java Jar规范的manifest信息。
这个链接是这个信息的详细规范。
显然每次打包的时候手工写入这个文件是件坑爹的事情,我们需要将这个业务工程化,而且Maven已经做到了这点。
非常简单的添加:
<plugin>
<artifactId>maven-jar-plugin</artifactId>
<configuration>
<archive>
<manifest>
<addDefaultImplementationEntries>true</addDefaultImplementationEntries>
<addDefaultSpecificationEntries>true</addDefaultSpecificationEntries>
</manifest>
</archive>
</configuration>
</plugin>
到我们pom.xml的build模块即可。
package it & enjoy it!