コマンドラインから春ブーツ内の複数の外部プロパティファイル

教育マスター:

私は外部の場所から2つのプロパティファイルを読むことをお勧めします。これは、コマンドライン引数を経由してロードする必要があります。

  1. configuration.properties - >これは、通常のプロパティファイルで、公開情報が含まれています。

  2. secure.properties - >これは暗号化されたパスワードが含まれています。

私は、コマンドの次の行のパラメータを与えています

-Dspring.config.location=file:C:\Project\properties\configuration.properties, file:C:\Project\properties\security\dev\secure.properties

プロパティがconfiguration.properties正常に動作しています。私は、直接ファイルをロードするのではなく、プロパティを使用していないよう。

ここでは、この暗号化されたファイルのために私は起きていない明示的にパスと負荷を渡す必要があります。

また、utilのは、EncryptedPropertiesReaderジャーに利用可能であり、したがって、それを変更することはできません。

ここでは、キャッチは私がsecure.propertiesを使用する必要がある方法です

私たちは、クラスを持っていますEncryptedPropertiesReaderそして、それは含まれていload(string path)メソッドを。

したがって、私は、のパスを渡す必要がありsecure.properties、ファイルを。

すなわち

String env = "dev" 
Properties p = EncryptedPropertiesReader.load("security\" + env + "\secure.properties");
System.out.println(p); // null

異なる環境(UNIX)で、私は別のパスを持っていますので、ここでは、私は絶対パスを与えることはできません。

このように、コマンドラインは私のオプションと、あまりにも外部の特性を維持することが必要です。

ここで私が試した組み合わせは以下のとおりです。


  • コマンドライン :

    1. 安全なのクラスパスを与えます。プロパティ

      -Dspring.config.location=file:C:\Project\properties\configuration.properties, classpath:C:\Project\properties\security\dev\
      
    2. 与え spring.config.nane

      -D spring.config.name=configuration, secure - Dspring.config.location=file:C:\Project\properties\configuration.properties, file:C:\Project\properties\security\dev\secure.properties
      
    3. に\変えてみました/


  • URLのパスが渡されました

    1. ("secure.properties"); //私はクラスパスをロードする仕事に期待

    2. ("/secure.properties"); //私はクラスパスをロードする仕事に期待


上記の組み合わせはどれも働きました。

間違って何が起こっているのか任意のアイデア?それとも私が何かを逃していますか?

長い質問に対して謝罪。

Niraj Sonawane:

これは、uは、環境変数を使用して任意の場所からプロパティをロードすることができる方法です

-Dspring.config.location="C:\Project\properties\", -Dsecure.properties.location="C:\Project\properties\security\dev\"




 @PropertySources({ 
             @PropertySource("file:${spring.config.location}/configuration.properties"),
             @PropertySource("file:${secure.properties.location}/secure.properties")})

おすすめ

転載: http://43.154.161.224:23101/article/api/json?id=191122&siteId=1