显示应用程序版本号的Java最佳实践

显示应用程序版本号的Java最佳实践,java,continuous-integration,versioning,Java,Continuous Integration,Versioning,在应用程序的帮助->关于页面中显示应用程序版本号的最佳实践是什么?该应用程序打包为一个EAR文件,其中包含1个WAR文件 根据我的研究,我相信这是为了将信息存储在清单文件中,然后从应用程序类引用它 正在使用的版本号系统是MAJOR.MINOR.BUILDNUMBER。BUILDNUMBER通过连续交付系统进行控制,并在提交时根据修订日志号进行分配 这意味着在开发时将不存在BUILDNUMBER。开发时显示的版本号不一样,这让人感觉不对劲。我认为CI服务器只是另一个开发人员,具体任务是构建最终应用

在应用程序的帮助->关于页面中显示应用程序版本号的最佳实践是什么?该应用程序打包为一个EAR文件,其中包含1个WAR文件

根据我的研究,我相信这是为了将信息存储在清单文件中,然后从应用程序类引用它

正在使用的版本号系统是MAJOR.MINOR.BUILDNUMBER。BUILDNUMBER通过连续交付系统进行控制,并在提交时根据修订日志号进行分配


这意味着在开发时将不存在BUILDNUMBER。开发时显示的版本号不一样,这让人感觉不对劲。

我认为CI服务器只是另一个开发人员,具体任务是构建最终应用程序


有关构建的信息由CI生成,通常包含Git哈希和BUILDNUMBER值,这些值在开发时是未知的。因此,对于“普通人”开发人员,我们将其设置为“本地”,而这是CI的詹金斯构建编号。

您是否考虑了特定的构建系统?专家Ant?我通常从清单的实现版本中读取版本号。您可以通过About.class.getPackage().getImplementationVersion()获得此信息。然后,您需要确保在其中实际写入内部版本号。