jsvcを使って、デーモン動作させているjarファイルから
外部のPropertiesファイルを読み込ませようとしています。
下記のようなコードで読み込ませていますが、
propertiesファイルを相対パスで指定すると読み込まれず困っております。
Properties props = new Properties();
OK→ props.load(new FileInputStream("/path/to/datasource.properties"));
NG→ props.load(new FileInputStream("datasource.properties"));
NG→ props.load(new FileInputStream("./datasource.properties"));
相対パス指定で実行すると、
java.io.FileNotFoundException: datasource.properties (そのようなファイルやディレクトリはありません)
と例外が発生します。
jsvcでjarファイルを動作させるにあたり、下記シェルコマンドを実行しています
-cpオプションの最後の$CUR_DIRに、jarファイルの場所(下記例の場合 /path/to)が設定されています。
./jsvc
-debug
-home /etc/alternatives
-cp /path/to/program.jar:/path/to/program_lib/commons-daemon-1.0.15.jar:$CUR_DIR
-outfile /path/to/program.out
-errfile /path/to/program.err
-pidfile /path/to/program.pid
jp.co.myname.program $@
また、jsvcを介さず、java -jar program.jarで実行すると、jarファイルの場所を起点とする相対パス指定で正しく動作します。
尚、webアプリではないため、tomcatは使用しておりません。
追加:
起動はjarファイルが存在するディレクトリに移動してから行っております。
また、jsvcも同ディレクトリも存在します
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。