在Java应用程序中,我可以使用自定义日志记录框架记录字符串,如下所示:
logger.info("Version 1.2 of the application is currently running");
因此,当用户向我发送日志文件时,我可以很容易地看到他们正在运行的应用程序的版本.
上面代码的问题是版本在字符串文字中是硬编码的,有人需要记住为每个版本更新它.对于发布而言,更新此字符串是相当不可避免的.
我想要做的是根据应用程序JAR的清单文件中的一个版本号自动更新此字符串文字:
Specification-Version: 1.2
Implementation-Version: 1.2.0.0
我不介意这是在编译时还是在运行时发生,只要版本号进入日志文件即可.
解决方法:
获取该信息的标准方法是SomeClass.class
.getPackage()
.getImplementationVersion()
.
您无需自己进行任何解析.