Java 如何在spring引导中进行应用程序版本控制?

Java 如何在spring引导中进行应用程序版本控制?,java,gradle,spring-boot,versioning,Java,Gradle,Spring Boot,Versioning,我正在为我的应用程序使用spring boot和gradle。应用程序可以有不同的版本,我们需要在页脚中显示应用程序的此版本信息 e、 g.1.0.0或1.0.0.0发布等 有哪些可能的方法可以做到这一点 这是一个很好的例子。您可以自动展开Gradle项目中的属性,并将这些属性作为占位符引用到应用程序.properties文件中 然后,您可以通过以下方式引用Gradle项目的属性: 占位符,例如 app.name=${name} app.description=${description}

我正在为我的应用程序使用
spring boot
gradle
。应用程序可以有不同的
版本
,我们需要在页脚中显示应用程序的此版本信息

e、 g.
1.0.0或1.0.0.0发布等


有哪些可能的方法可以做到这一点

这是一个很好的例子。您可以自动展开Gradle项目中的属性,并将这些属性作为占位符引用到
应用程序.properties
文件中

然后,您可以通过以下方式引用Gradle项目的属性: 占位符,例如

app.name=${name} 
app.description=${description}
例如,您可以使用
@Value
注释在应用程序中获取
属性

@Value("${app.version}")
public String appVersion;

@Override
public void run(String... arg0) throws Exception {
    System.out.println(appVersion);
}
也许您必须退出占位符机制:

Gradle的扩展方法使用Groovy的SimpleTemplateEngine 转换
${..}
标记。
${..}
样式与Spring的样式冲突 属性占位符机制。使用Spring属性占位符的步骤 与自动展开一起使用Spring属性占位符 需要像
\${..}
一样转义


附言:对于maven,你也可以这样做

我试了你的建议。但我得到的错误类似于任务“:processResources”的执行失败。无法复制文件。。向后退。xml@ashishjmeshram也许你必须避开占位符。我更新了我的答案。如果错误仍然存在,请提供更多信息。问题仅限于processResources{expand(project.properties)}行。所以即使我只加上这一行。我开始收到错误。@ashishjmeshram您能显示您收到的错误消息吗。我收到的错误如下所示:processResources失败:生成失败,出现异常。*错误:任务的执行失败:processResources'>无法将文件“/opt/workspaces/src/main/resources/logback spring.xml”复制到“/opt//workspaces/build/resources/main/logback spring.xml”。
@Value("${app.version}")
public String appVersion;

@Override
public void run(String... arg0) throws Exception {
    System.out.println(appVersion);
}