2017-08-10 2 views
0

私はpom.xmlの値を読み込み、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に次の行も追加しました。 application.propertiesで

<build> 
    <resources> 
     <resource> 
     <filtering>true</filtering> 
     <directory>src/main/resources</directory> 
     </resource> 
    </resources> 
.... 

私は

app.host= @[email protected] 

のようにアクセスしていますが、春のブートに私がapplication.propertiesから値を読み取るために@ConfigurationPropertiesを使用しています。 しかし、私がそれを印刷すると、@ app.mobile.db.host @が印刷されます。 どこが間違っていますか?親切に助けてください。

答えて

0

@は、spring-boot-starter-parentを使用している場合にのみ機能します。また、値がsettings.xmlになるようにする場合は、pom.xmlに再定義しないでください。最後に、env.xシンタックスは環境変数用です。あなたのポームからその行を削除し、application.propertiesapp.host = @[email protected]に変更すると問題が解決するはずです。 APP_MOBILE_DB_HOSTのエイリアスを絶対に作成する必要がある場合は、pom.xmlapp.host=${APP_MOBILE_DB_HOST}のように定義します。ただし、Mavenがプロパティの解決に複数のパスを使用するかどうかはわかりません。

mvn resources:resources -DAPP_MOBILE_DB_HOST=testを実行し、target/classes/application.propertiesを調べて変更を確認します。アプリケーションを実行する必要はありません。

+0

私はenv.x行形式のpom.xmlを削除しました。そして 'application.properties'では' app.host = $ {APP_MOBILE_DB_HOST} 'のような値を読んでいます。それでも動作していません。 settings.xmlでは、プロパティは次のようになります ' XXX' –

+0

@ ninja.bhaSivは私が言ったことではありません。あなたがこれらの簡単な指示に従うことができない場合は、私はあなたを助けることはできません、申し訳ありません。 –

+0

混乱して申し訳ありません。私は 'spring-boot-starter-parent'をpom.xmlに追加しました。その後、 'env.x'行を削除しました。また、 'application.properties'に' app.host = @ APP_MOBILE_DB_HOST @ 'としてアクセスしています。値 –

関連する問題