我们有一个build.gradle
,其中定义了version
。我需要实现一个版本端点(例如/version
)来获取项目的版本。 version
中的build.gradle
属性已经存在很长时间了,我无法将其移至project.properties
文件中。如何从Java代码访问version
的值?
答案 0 :(得分:2)
您可以通过多种方式将信息“植入”代码中
首先,您可以使用清单文件,并从中读取
jar {
manifest {
attributes(
"lib-version": version
}
}
与Reading my own Jar's Manifest
一起使用另一种选择是在jar任务之前将该信息添加到您的属性文件中
task('addVersion') {
doLast {
//append the version here, see example
file("src/main/resources/props.properties").append("version=$version")
}
}
jar.dependsOn(addVersion)
答案 1 :(得分:1)
我们的一个项目不仅需要版本信息,还需要构建时间等。我们使用带有模板替换的复制任务。
task updateVersions(type: Copy) {
Properties props = new Properties()
props.load(new FileInputStream(file('build.properties')))
props.put("buildtime", new Date().format("dd MMM yyyy hh:mm aa"))
props.put("version", "${version}")
from project(':main').file('Version.tmpl')
into file('src/main/java').path
expand(props)
rename('Version.tmpl', 'Version.java')
}