在Gradle構建系統時設置了項目的版本號,使用SpringBoot開發應用程序時也需要Gradle構建項目的版本號,兩個不同體系下的版本號如何統一使用,Gradle已經給出可用的方案。
一般情況下,在SpringBoot應用程序中我們會在application.properties文件中定義應用的版本參數
custom.app.version=0.0.3
現在將其修改為:
custom.app.version=${version?:unknown}
這其中version就是Gradle腳本中的項目版本號,但此時還不能真正得到Gradle中定義的項目版本號
需要在Gradle的腳本中添加如下任務:
processResources { expand(project.properties) }
於是在構建項目時將Gradle腳本中定義的項目版本注入到資源文件中,但為了更准確地將版本參數注入到application.properteis屬性文件中,可使用過濾條件進一步明確范圍,Gradle中的任務做如下修改:
processResources { filesMatching('application.properties') { expand(project.properties) } }
之后在SpringBoot應用程序中訪問參數custom.app.version獲取到的就是Gradle腳本中定義的項目版本號
@Value("${custom.app.version}") // it's version property in build.gradle private String appVersion;