Spring Boot:使用在yaml中配置的Maven属性

mar*_*k89 9 java maven spring-boot

我正在尝试从Maven中提取一些属性,并在我的应用程序启动时打印它们.我正在使用Spring Boot,因此我会自动完成资源过滤.

在我的application.yml中,我有以下内容

  applicationName: "@project.artifactId@"
  buildVersion: "@project.version@"
  buildTimestamp: "@maven.build.timestamp@"
Run Code Online (Sandbox Code Playgroud)

当我在IntelliJ上运行时,我得到了所需的结果,我的属性被填充并按预期打印(单引号具有相同的结果)删除引号将给出一个关于使用'@'字符的SnakeYaml的例外情况

当我在Cent-OS上运行时,通过jar(java -jar blah..blah),属性没有被解析,而是被视为字符串而不是正确的版本号等,打印的是字符串在上面的引号内.

有想法该怎么解决这个吗?它与我运行jar的方式有关吗?

我用这个作为例子

Myj*_*516 1

@Value("${applicationName}")
private String applicationName;
Run Code Online (Sandbox Code Playgroud)