我已经成功地将Gradle proj.ver注入到application.yml中,然后将其注入到服务应用程序中。我的application.yml如下所示:
project:
version: ${version}
但只有当我从cli启动应用程序时,它才能工作:
gradle bootRun
如果我尝试从IntelliJ启动应用程序,它不起作用,并出现以下错误:
Caused by: java.lang.IllegalArgumentException: Could not resolve placeholder 'version' in value "${version}"
我读了Stackoverflow的所有答案,他们提出了两个解决方案:
1.使用Spring截面轮廓
1.修改运行配置并在启动gradle任务之前运行:流程资源
当我从IntelliJ运行时,我更喜欢为proj.ver设置***default***值。这可能吗?或者对于这种情况有更好的解决方案吗?
谢谢
2条答案
按热度按时间jv2fixgn1#
正如M. Deinum在上面的评论中所说,我设法从IntelliJ运行了这个应用程序,但现在
gradle bootRun
开始出现故障:原因:groovy. lang.丢失属性异常:无此类属性:类未知:简单模板脚本2
经过更多的研究,似乎
${version?:unknown}
(带问号)可以从IDE或cli工作。我更新了回复,以便其他人了解如何将Gradle构建信息注入Spring-boot:
1)告诉Gradle将构建数据传递到Spring yml文件,如下所示:
2)appInfo.yml将看起来像:
3)将构建版本注入Spring服务,如下所示:
ovfsdjhp2#
为了完成Kotlin用户,对我有效的是: