1、问题描述
虽然在yml中配置了$开头$结尾的变量,但是实际展示时无法动态显示。
2、原始的配置
springcloud父工程中pom文件中的配置
<build>
<finalName>******</finalName>
<resources>
<resource>
<directory>src/main/resources</directory>
<filtering>true</filtering>
</resource>
</resources>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
<configuration>
<delimiters>
<delimit>$</delimit>
</delimiters>
</configuration>
</plugin>
</plugins>
</build>
子模块项目中application.properties中的配置
info: #微服务info信息的详细说明
app.name: sjugg-microservicecloud
company.name: www.koolyun.com
build.artifactId: $project.artifactId$
build.version: $project.version$
启动项目后发现info内容有问题,artifactId和version未正确显示
{
"build": {
"artifactId": "$project.artifactId$",
"version": "$project.version$"
},
"app": {
"name": "sjugg-microservicecloud"
},
"company": {
"name": "www.koolyunss.com"
}
}
3、解决问题
将pom文件中的标签delimit改成delimiter
<finalName>*****</finalName>
<resources>
<resource>
<directory>src/main/resources</directory>
<filtering>true</filtering>
</resource>
</resources>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
<configuration>
<delimiters>
<delimiter>$</delimiter>
</delimiters>
</configuration>
</plugin>
</plugins>
</build>
启动项目测试
{
"build": {
"artifactId": "microservicecloud-provider-dept-8001",
"version": "0.0.1-SNAPSHOT"
},
"app": {
"name": "sjugg-microservicecloud"
},
"company": {
"name": "www.koolyunss.com"
}
}
info内容可以正常显示。
4、总结
版本和环境都可能造成显示问题,如有错误,请您指正。