実行可能な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.properties
はconf
サブディレクトリにある場合は
InputStream stream = getClass().getClassLoader().getResourceAsStream("myproperties.properties");
、この文はnullをInputStreamを返します。 log4j.properties
がconf
サブディレクトリにある場合は、その設定を見つけることではない程度にその警告メッセージを出力します
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.
? executabele JAR?または 'dependency1.jar'ですか?どのくらい正確に? – BalusC
この問題についての詳細を更新しました。 –
実際に別の実行場所に配置する必要がありますか?これは、開発階層内の別のソースフォルダに整理することですか? – Gray