繁体   English   中英

在application.properties中使用pom.xml的属性值

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM