使用Maven
构建项目时,可以获得类似this的实施版本。
是否可以使用Gradle做到这一点?
我用我的应用程序从Maven转移到Gradle。
使用Maven构建,我能够显示应用程序版本,例如Application vX.X.X
,其中X.X.X
是从实现版本中检索到的。可以用Gradle吗?
基本上我希望该版本自动解决。
答案 0 :(得分:4)
jar {
manifest {
attributes('Main-Class': 'Your main class',
'Implementation-Title': 'Your title',
'Implementation-Version': 'You version')
}
}
或者如果您使用shadowJar
shadowJar {
manifest {
attributes 'Main-Class': 'Your main class'
attributes 'Implementation-Title': 'Your title'
attributes 'Implementation-Version': 'You version'
}
}
然后在java源代码中你可以使用:
getClass().getPackage().getImplementationVersion()
getClass().getPackage().getImplementationTitle()
在Gradle doc中查看更多信息:https://docs.gradle.org/current/userguide/java_plugin.html#sub:manifest
答案 1 :(得分:0)
正如@JB Nizet所建议的那样,解决方案可以找到here。