【发布时间】:2017-06-16 13:14:59
【问题描述】:
我在我的应用程序中使用spring boot 和gradle。应用程序可以有不同的versions,我们需要在页脚中显示应用程序的版本信息。
例如1.0.0 or 1.0.0.RELEASE etc
有哪些可能的方法来做到这一点?
【问题讨论】:
标签: java gradle spring-boot versioning
我在我的应用程序中使用spring boot 和gradle。应用程序可以有不同的versions,我们需要在页脚中显示应用程序的版本信息。
例如1.0.0 or 1.0.0.RELEASE etc
有哪些可能的方法来做到这一点?
【问题讨论】:
标签: java gradle spring-boot versioning
documentation 中有一个很好的例子。您可以从 Gradle 项目中自动展开属性,并将这些属性作为占位符引用到您的 application.properties 文件中。
processResources { expand(project.properties) }然后您可以通过以下方式引用您的 Gradle 项目的属性 占位符,例如
app.name=${name} app.description=${description}
然后,您可以使用 @Value 注释在您的应用程序中获取 properties 值。
@Value("${app.version}")
public String appVersion;
@Override
public void run(String... arg0) throws Exception {
System.out.println(appVersion);
}
也许你必须逃避占位符机制:
Gradle 的 expand 方法使用 Groovy 的 SimpleTemplateEngine 转换
${..}令牌。${..}样式与 Spring 自己的样式冲突 属性占位符机制。使用 Spring 属性占位符 连同自动扩展 Spring 属性占位符 需要像\${..}一样转义。
P.S.:使用 maven,您也可以这样做。 more...
【讨论】: