2016-05-06 19 views
0

に.SHスクリプト経由でJarファイルを実行できませんターミナルを開き、次のように入力しますは、Mac OS X

java -jar ./program.jar 

が正常に動作します。私は崇高なエディタを開くと、この入力すると:

#!/usr/bin/env bash 
echo "Running program..." 
java -jar ./program.jar 

をとして保存します。run.shrun.sh

右マウスクリックを、ターミナル(2.6)で開き、情報を表示します。今すぐダブルクリックしてください:

Running program... 
Error: Unable to access jarfile program.jar 
logout 
Saving session... 
...copying shared history... 
...saving history...truncating history files... 
...completed. 

どうすればこの問題を解決できますか?

+1

bashスクリプト 'echo $ PWD'に追加すると、スクリプトは明らかに別のディレクトリから実行され、' program.jar'ファイルを見つけることができません。スクリプトで 'cd 'を追加するか、 'program.jar'の絶対パスを使用してください。 – Dummy00001

答えて

2

jarファイルの絶対パスに入れるか、cdをそのディレクトリに入れるだけです。

#!/usr/bin/env bash 
cd /path/to/jar/file 
echo "Running program..." 
java -jar ./program.jar 
+0

さて、うまくいきました、ありがとう!しかし、私はこれを複数のユーザーに提供して、.shファイルをダブルクリックするだけです。私はそのディレクトリを知らない。これには別の方法がありますか? –

+0

jarファイルと.shスクリプトをアーカイブ上にパックする場合は、 "cd/path/to/jar/file"を削除できます。その後、ユーザーがファイルを解凍すると、ファイルは同じディレクトリにあり、 "java -jar ./program.jar"が機能します。また、絶対URLでjarを呼び出す "java -jar $(pwd)/program.jar"と言うこともできます。 – cb0