※ ChatGPTを利用し、要約された質問です(原文:LinuxでJAVAプログラムの実行のパスについて)
LinuxでJAVAプログラムの実行のパスについて
このQ&Aのポイント
LinuxでJAVAプログラムの実行のパスについて
Linux環境でJAVAプログラムを実行する際にパスの指定に困っています。ローカルのWINDOWS環境では正常に動作するのですが、Linuxサーバ上ではうまくいきません。
具体的には、プログラム内で他のファイルを読み込む際の相対パスの指定に問題があります。ローカルでは正しくファイルを読み込めるのですが、Linuxサーバ上ではパスが合わずに読み込むことができません。どのようにすれば正しくパスを指定できるのでしょうか?
LinuxでJAVAプログラムの実行のパスについて
基本的な事とは思うのですが、うまく行かないので
ご教授下さい。宜しくお願いします。
ローカルのWINDOWS(eclipse使用)でうまく行くのですが、
Linuxサーバ上でうまく実行できません。
階層は以下のように
Aproject/bin/jp/co/hoge/aaa.class
Aproject/src/jp/co/hoge/aaa.java
Aproject/conf/xxx.prop
とbin・src・confが同じレベルにあります。
aaa.java内でxxx.propを読み込む際、相対パスで"conf/xxx.prop"
と指定してローカルではきちんと読み込めます。
aaa.javaのパッケージ宣言は
package jp.co.hoge;
となっていまして、linuxサーバ上で実行する時は、binをカレントで
"java jp/co/hoge/aaa"としているので
xxx.propを読み込むためには、"../conf/xxx.prop"としなければ
ならず、どうしたら良いのかわからなくなってしまいました。
サーバ上で実行する時に今のようにbinをカレントに実行するのでは
なく、その上のAprojectの階層をカレントに実行すれば、
パスは"conf/xxx.prop"でいいと思うのですが、
"java bin/co/hoge/aaa"としても実行できません。
どのようにして実行すればうまくパスをあわせる事ができる
のでしょうか??
eclipseの設定がまずいのでしょうか?
宜しくお願い致します。
お礼
早速のご回答ありがとうございます。 早速試してみたいと思います。