4

.jar ファイルを実行するスクリプトを作成しようとしています。次のコマンドは、ターミナルから (.jar ファイル フォルダーから) 機能します。

java -jar "./myjavatest.jar" 

この行をファイルに入れて同じフォルダーから実行すると (ターミナルを使用するか、ファインダーをダブルクリックして)、「jarfile ./myjavatest.jar にアクセスできません」というメッセージが表示されます。

ファイルをダブルクリックすると、実際にはユーザーのホームディレクトリから実行されることがわかりました。ファイルが置かれているフォルダから実行することはできますか?

4

3 に答える 3

6

ファイルをダブルクリックすると、実際にはユーザーのホームディレクトリから実行されることがわかりました。ファイルが置かれているフォルダから実行することはできますか?

はいあります:

SOURCE="${BASH_SOURCE[0]}"
DIR="$( dirname "$SOURCE" )"
while [ -h "$SOURCE" ]
do 
  SOURCE="$(readlink "$SOURCE")"
  [[ $SOURCE != /* ]] && SOURCE="$DIR/$SOURCE"
  DIR="$( cd -P "$( dirname "$SOURCE"  )" && pwd )"
done
DIR="$( cd -P "$( dirname "$SOURCE" )" && pwd )"

cd "$DIR"

java -jar myjavatest.jar
于 2012-12-25T11:19:52.310 に答える
0

この内容の .sh ファイルを実行しようとすると、問題が発生しました: java -Dlog4j.configuration=file:log4j.properties -jar -Dfile.encoding=ISO-8859-1 mainRPV.jar

問題は、何らかの理由でファイル形式が UNIX ではなく DOS に変更されたことでした。おそらく、Windows で編集および保存されたためです。その行末に関連する

vim でファイルを開いて、次のコマンドを実行してみてください:set ff=unix

よろしく!

于 2013-04-24T17:26:15.803 に答える