动态获取Intellij IDEA(Maven)的内部版本号

时间:2019-11-05 20:21:21

标签: java maven intellij-idea build

我正在使用maven在Intellij IDEA上构建和运行我的项目。

出于跟踪目的,我希望能够将与VCS / Localhistory关联的内部版本号直接获取/获取到我的Java代码中。如果我能够创建自己的并在本地历史记录上设置内部版本号,则无需获取该号码。

Build number example

就像您在那张照片上看到的一样,我想得到6826bed7或40cfe86c:


public static void main(...) {
    // Stuff like this
    String buildNumber = IntellijInternalApi.getThisBuildNumber(); 
    // this should print 6826bed7 in my example
    System.out.println(builNumber); 
}

任何想法或解决方案吗?

1 个答案:

答案 0 :(得分:-1)

忘记它,1)最有可能您不想在应用程序类路径中使用intellij api 2)您在运行时没有git信息,这是您的工作副本的属性,而不是二进制分发。

您必须在构建阶段创建此信息,然后写入属性文件,然后只需读取值即可。您可以使用git rev-parse HEADgit decribe使用maven exec-plugin或使用maven-git-commit-id-plugin

来完成此操作

实际上,您的问题是Injecting current git commit id into Java webapp的重复项