2011-11-15 28 views
0

実行可能なjarが必要とするすべての.propertiesファイルを、jarファイルを実行するディレクトリのサブディレクトリに配置したいとします。jarマニフェストのクラスパスにプロパティファイルのディレクトリを指定するにはどうすればよいですか?

Manifest-Version: 1.0 
Build-Jdk: 1.6.0_26 
Main-Class: MyMainClass 
Class-Path: . conf lib/dependency1.jar 

私はjarファイルと同じディレクトリにある私の.propertiesファイルを保存する場合、すべてが正常に動作します:現在、私のMANIFEST.MFは次のようになります。 confサブディレクトリに移動すると、そのサブディレクトリは見つかりません。また、conf/log4j.propertiesのように.propertiesファイルへのパスを直接指定しようとしました。

私がしようとしていることは可能ですか?

を更新:ここで失敗した私の実行可能なjarファイル内のコードの例です:myproperties.propertiesconfサブディレクトリにある場合は

InputStream stream = getClass().getClassLoader().getResourceAsStream("myproperties.properties"); 

、この文はnullをInputStreamを返します。 log4j.propertiesconfサブディレクトリにある場合は、その設定を見つけることではない程度にその警告メッセージを出力します

log4j:WARN No appenders could be found for logger (MyMainClass). 
log4j:WARN Please initialize the log4j system properly. 
log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info. 
+0

? executabele JAR?または 'dependency1.jar'ですか?どのくらい正確に? – BalusC

+0

この問題についての詳細を更新しました。 –

+0

実際に別の実行場所に配置する必要がありますか?これは、開発階層内の別のソースフォルダに整理することですか? – Gray

答えて

0

これはあなたのログファイルが置かれている場所を指定するために使用することができorg.apache.log4j.PropertyConfigurator.configure(String configFilename)

を使用してみてください。

ことの例はここにあります:プロパティファイルをロードしています http://logging.apache.org/log4j/1.2/manual.html

関連する問題