【发布时间】:2017-11-07 12:31:05
【问题描述】:
我正在尝试从 Maven 中提取一些属性并在我的应用程序启动时打印它们。我正在使用 Spring Boot,因此资源过滤会自动为我完成。
在我的 application.yml 我有以下内容
applicationName: "@project.artifactId@"
buildVersion: "@project.version@"
buildTimestamp: "@maven.build.timestamp@"
当我在 IntelliJ 上运行它时,我得到了想要的结果,我的属性按预期填充和打印 (单引号的结果相同) 删除引号会给我一个 SnakeYaml 关于使用“@”字符的例外情况
当我在 Cent-OS 上运行它时,通过 jar (java -jar blah..blah) 属性没有被解析,而是被视为字符串,而不是正确的版本号等,打印的是什么是上面引号内的字符串。
关于如何解决这个问题的任何想法? 和我运行jar的方式有关吗?
我以this为例
【问题讨论】:
-
这有点奇怪......最近我测试了这个并且工作正常,也许这取决于
spring-boot版本......你使用的是什么版本? -
我正在使用 1.5.1 。我最终使用 Spring 的属性格式而不是 Yaml 添加了一个额外的属性文件
标签: java maven spring-boot