我正在使用maven在Intellij IDEA上构建和运行我的项目。
出于跟踪目的,我希望能够将与VCS / Localhistory关联的内部版本号直接获取/获取到我的Java代码中。如果我能够创建自己的并在本地历史记录上设置内部版本号,则无需获取该号码。
就像您在那张照片上看到的一样,我想得到6826bed7或40cfe86c:
public static void main(...) {
// Stuff like this
String buildNumber = IntellijInternalApi.getThisBuildNumber();
// this should print 6826bed7 in my example
System.out.println(builNumber);
}
任何想法或解决方案吗?
答案 0 :(得分:-1)
忘记它,1)最有可能您不想在应用程序类路径中使用intellij api 2)您在运行时没有git信息,这是您的工作副本的属性,而不是二进制分发。
您必须在构建阶段创建此信息,然后写入属性文件,然后只需读取值即可。您可以使用git rev-parse HEAD
或git decribe
使用maven exec-plugin或使用maven-git-commit-id-plugin
实际上,您的问题是Injecting current git commit id into Java webapp的重复项