如何使用 Spring Boot 从 gradle 获取应用程序版本和一些其他信息?
How can I get application version and some other info from gradle using Spring Boot?
你能解释一下如何从我的 Spring 引导应用程序中获取应用程序版本和一些 otger 信息吗?
我正在使用 gradle 项目生成器。
如果我可以从 build.gradle 文件中获取应用程序版本(例如)
,我认为这会很酷
version = '0.0.2-SNAPSHOT'
然后我需要增加这个数字。
每次构建新的应用程序时,我都需要这样做。
然后我必须在 Java 代码中获取此信息并将其传输到前端 (AngularJS),以便 QA 可以知道应用程序的当前版本。
你能解释一下我该怎么做吗?
如果你告诉我怎么做,我将不胜感激。
非常感谢!
更新:
我想了一下,意识到在 Groovy 上直接在 "build.gradle" 文件中编写脚本可能更容易以某种方式获取应用程序的当前版本,然后增加它被 1 (+1) 然后以某种方式记住这个版本(在 "build.gradle" 文件中覆盖它)并在 JAVA 代码中获取它。
可能我说的太复杂了,我只能说这么多了。
也许有人对此有任何想法?
我将非常感谢您提供的帮助和有用的链接。
在此先感谢大家。
谢谢。我做到了。
public String getManifestInfo() {
return getClass().getPackage().getImplementationVersion();
}
在构建应用程序后,我从我的 jar 文件中的 MANIFEST.MF 文件中获得了应用程序版本。
我的 build-gradle 文件中的一些代码
tasks.register("incrementVersion") {
doFirst {
def ver = version
println ver
String lastNumber = ver.substring(ver.lastIndexOf('.') + 1)
int increment = lastNumber.toInteger() + 1
println increment
String firstNumber = ver.substring(0, ver.lastIndexOf("."))
println firstNumber
String result = buildFile.getText().replaceFirst("version='$version'","version='" + firstNumber + "." + increment + "'")
buildFile.setText(result)
}
}
jar.dependsOn incrementVersion
bootJar.dependsOn incrementVersion
bootJar {
doFirst {
manifest {
attributes(
'Main-Class': 'com.example.appinfo.AppinfoApplication',
'Implementation-Title': 'Application Info project',
'Implementation-Version': "${version}"
)
}
}
}
谢谢!
你能解释一下如何从我的 Spring 引导应用程序中获取应用程序版本和一些 otger 信息吗?
我正在使用 gradle 项目生成器。
如果我可以从 build.gradle 文件中获取应用程序版本(例如)
,我认为这会很酷version = '0.0.2-SNAPSHOT'
然后我需要增加这个数字。 每次构建新的应用程序时,我都需要这样做。 然后我必须在 Java 代码中获取此信息并将其传输到前端 (AngularJS),以便 QA 可以知道应用程序的当前版本。
你能解释一下我该怎么做吗? 如果你告诉我怎么做,我将不胜感激。
非常感谢!
更新:
我想了一下,意识到在 Groovy 上直接在 "build.gradle" 文件中编写脚本可能更容易以某种方式获取应用程序的当前版本,然后增加它被 1 (+1) 然后以某种方式记住这个版本(在 "build.gradle" 文件中覆盖它)并在 JAVA 代码中获取它。 可能我说的太复杂了,我只能说这么多了。
也许有人对此有任何想法? 我将非常感谢您提供的帮助和有用的链接。
在此先感谢大家。
谢谢。我做到了。
public String getManifestInfo() {
return getClass().getPackage().getImplementationVersion();
}
在构建应用程序后,我从我的 jar 文件中的 MANIFEST.MF 文件中获得了应用程序版本。
我的 build-gradle 文件中的一些代码
tasks.register("incrementVersion") {
doFirst {
def ver = version
println ver
String lastNumber = ver.substring(ver.lastIndexOf('.') + 1)
int increment = lastNumber.toInteger() + 1
println increment
String firstNumber = ver.substring(0, ver.lastIndexOf("."))
println firstNumber
String result = buildFile.getText().replaceFirst("version='$version'","version='" + firstNumber + "." + increment + "'")
buildFile.setText(result)
}
}
jar.dependsOn incrementVersion
bootJar.dependsOn incrementVersion
bootJar {
doFirst {
manifest {
attributes(
'Main-Class': 'com.example.appinfo.AppinfoApplication',
'Implementation-Title': 'Application Info project',
'Implementation-Version': "${version}"
)
}
}
}
谢谢!