[英]Using property values of pom.xml in application.properties
我正在尝试读取pom.xml的值并将其注入application.properties。 但我无法实现这一目标。 在我的pom.xml中,我具有如下所示的属性值:
<properties>
<app.mobile.db.host>
${env.APP_MOBILE_DB_HOST}
</app.mobile.db.host>
...
</properties>
并且,APP_MOBILE_DB_HOST来自.m2文件夹的settings.xml。 我也在pom.xml中添加了以下几行。
<build>
<resources>
<resource>
<filtering>true</filtering>
<directory>src/main/resources</directory>
</resource>
</resources>
....
在application.properties我正在访问像
app.host= @app.mobile.db.host@
在Spring Boot中,我使用@ConfigurationProperties从application.properties中读取值。 但是当我打印它时,它只打印@ app.mobile.db.host @。 我要去哪里错了? 请帮助。
@
仅在使用spring-boot-starter-parent
。 另外,如果您希望该值来自settings.xml
,则不应在pom.xml
重新定义它。 最后, env.x
语法用于环境变量; 从pom中删除该行并将application.properties
更改为app.host = @APP_MOBILE_DB_HOST@
应该可以解决此问题。 如果您绝对必须为APP_MOBILE_DB_HOST
创建别名, APP_MOBILE_DB_HOST
像在pom.xml
app.host=${APP_MOBILE_DB_HOST}
其定义为app.host=${APP_MOBILE_DB_HOST}
,尽管我不确定Maven是否进行多次app.host=${APP_MOBILE_DB_HOST}
以进行属性解析。
通过运行mvn resources:resources -DAPP_MOBILE_DB_HOST=test
并检查target/classes/application.properties
验证更改。 您不需要运行该应用程序。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.