2017-01-15 5 views
-1

私は日食環境変数に宣言している。このspring.mail.username=${username}私はwarファイルにEclipseでMavenの環境変数を含めるにはどうすればよい

${username}のように私のapplication.propertiesで環境変数を持っています。 mavenパッケージをビルドしてインストールすると、それをtcServerにデプロイします。 TCサーバーは${username}を知らない。別の言葉では、環境変数はビルド時にwarファイルには含まれません。

eclipseで環境変数をwarファイルに組み込んでデプロイするにはどうすればよいですか?

+0

システムを構築したユーザーをお持ちになりたいですか?それを実行するユーザーではありませんか? – alexbt

答えて

0

あなたはビルド時の変数を交換させたい場合は、私はあなたがMavenのフィルタリングに使用することをお勧め:次に

export username=user3184890 

:環境変数(ない日食1)を持って

を、あなたのpom.xmlでリソース上でを有効にする(あなたのapplication.propertiesがsrc/main/resourcesの場合:

<build> 
    <resources> 
     <resource> 
      <directory>${project.basedir}/src/main/resources</directory> 
       <filtering>true</filtering> 
     </resource> 
    </resources> 
... 

また、これにあなたのapplication.propertiesを変更

spring.mail.username=${env.username} 

または

[email protected]@ 
0

がalexbtのanswerで説明したようにMavenのフィルタリングを使用して、別の場所で定義された値を含むための適切なアプローチです。彼の例では、オペレーティングシステムの環境変数が含まれています。これをMavenプロパティにも拡張できます。例えば、

<project ...> 
    <properties> 
     <spring.mailuser>[email protected]</spring.mailuser> 
    </properties> 
    ... 
    <build> 
     ... 
    </build> 
</project> 

は、その値${spring.mailuser}によって取得され、他のMavenの構成の一部 として使用されるか、またはMavenのフィルタリングを介してコンテンツとして注入することができるMavenのプロパティを定義します。この与えられ、次のように applicable.propertiesを変更

spring.mail.username=${spring.mailuser} 

は、ビルド時にプロパティの値を注入します。

関連する問題