Spring boot 使用Spring Boot gradle插件时通过gradle.properties更改Spring Boot应用程序版本
我正在使用Spring boot gradle插件,并已将其放入我的Spring boot 使用Spring Boot gradle插件时通过gradle.properties更改Spring Boot应用程序版本,spring-boot,gradle,Spring Boot,Gradle,我正在使用Spring boot gradle插件,并已将其放入我的应用程序.yml: spring: application: name: myapp version: ${version} 我使用以下方法处理令牌的资源文件: processResources { filesMatching('application.yml') { expand(project.properties) } } 我在控制器中使用此注释: public
应用程序.yml
:
spring:
application:
name: myapp
version: ${version}
我使用以下方法处理令牌的资源文件:
processResources {
filesMatching('application.yml') {
expand(project.properties)
}
}
我在控制器中使用此注释:
public class MyController {
@Value("${spring.application.version}")
private String appversion
...
一切都很好,耶!问题是,我无法确定实际控制版本的是什么,因为此报告版本0.0.1-SNAPSHOT
,即使我在gradle.properties
中指定了不同的version
我试着更新了以下内容:
但它没有效果。有人能帮助我了解使用Spring Boot gradle插件增加/管理版本的正确方法吗?正如我在评论中所说,您在
gradle.properties
中设置版本的方法以及您如何配置应用程序.yml
是正确的
我猜您仍然在主
build.gradle
中定义了版本
属性,它使用值0.0.1-SNAPSHOT
覆盖gradle.properties
中设置的值,您定义application.yml
属性文件和processResources
任务配置的方式正确:如果未考虑在gradle.properties
文件中定义的版本,这可能意味着此版本在其他地方被覆盖:可能您仍然有一个version
属性直接定义在build.gradle
脚本(或者根项目脚本,如果您有多项目生成)一种快速的测试方法:1)在build.gradle中定义属性版本:version=dummy
2)执行gradle任务processResources
3)检查/build/resources/main/application.yml的内容!果然,我在build.gradle
中定义了一个我错过的版本。很高兴在SOF有一双独立的眼睛。真是松了一口气!请回答,我会确认。
springBoot {
buildInfo {
properties {
version = "${project.version}"
}
}
}