2012-09-28 21 views
6

コード例を見ていますが、これが何を意味するのかよくわかりません。Thread.currentThread()。getContextClassLoader()。getResourceAsStream()

Thread.currentThread().getContextClassLoader() 
    .getResourceAsStream("MyProperty.properties"); 

プロパティファイルを読み取ろうとしているようですが、どこにMyProperty.propertiesがあるのか​​わかりません。

ご協力いただきありがとうございます。

答えて

6

プロパティファイルを読み込むように見えますが、どこにMyProperty.propertiesが配置されているかわかりません。

あなたが現在持っているので、クラスパスの上部にMyProperty.propertiesファイルがあります。あなたのsrc/main/resourcesディレクトリまたは他のsrcフォルダにある可能性があります。これは、アプリケーション(jar/war)の構築方法によって異なります。

jarファイルをビルドする場合は、jarファイルを展開し、jarファイルのトップレベルにあるプロパティファイルを参照できるようにする必要があります。あなたが戦争を構築しているなら、多分それはWEB-INF/classesディレクトリにあるはずです。再び、それはそれがどのように構築されたかに依存する。

通常、log4j.propertiesファイルもクラスパスの最上位にあります。そのファイルを探してプロパティファイルをその横に並べると便利です。

関連する問題