2017-10-17 19 views
1
I have a spring boot application jar 

    @SpringBootApplication 
    @EnableScheduling 
    @PropertySource({"classpath:1.properties","classpath:2.properties"}) 
    public class MyClass { 
//My class 

    } 

1.propertiesを使用して、内部と外部の両方のプロパティファイルを読むことは、サーバーの場所のプロジェクトの場所春ブーツに

| MyClass.jar 
| config 
     | 2.properties 

である 2.propertiesのsrc /メイン/リソースである。しかし、私が見つかりませんファイルを取得していますアプリケーションを起動するときに2.propertiesのために。私がここで紛失する可能性があることを私に教えてください。

+1

あなたの '2.properties'ファイルがjarファイルの外にある場合は、クラスパスで見つからないでしょう – Catchwa

+0

私はjarファイルと平行なconfigフォルダの中に置いています。したがって、設定フォルダもクラスパスで使用できるはずですか? – TomJava

答えて

1

コメントのように、2.propertiesファイルはclasspathの下にありません。ファイルが実際にjarまたはwarに存在する場合は、classpathのみ使用できます。

2.propertiesを取得するには、classpath:の代わりにfile:というコマンドを使用する必要があります。

@PropertySource("classpath:1.properties","file:${application_home}2.properties") 

あなたのプロパティファイルへのパスを設定するためのOS環境変数またはシステムプロパティをまだ必要とするかどうかは不明です。この場合、私はそれをapplication_homeと命名しました。

+0

私はそれをjarと平行なconfigフォルダの中に入れました。したがって、設定フォルダもクラスパスで使用できるはずですか? – TomJava