2017-01-03 4 views
0

Runtime execを使用してシステムコマンドを実行するタスクの1つであるJavaアプリケーションを開発しています。このコマンドを実行するには、別のJARファイルが必要ですが、コマンドが実行される部分があればいつでも、「エラー:jarfileにアクセスできません」というメッセージが表示されます。ランタイムexecを使用して実行された「エラー:jarfileにアクセスできない」コマンド

まず、私の現在の作業ディレクトリ:

assets/jarFile.jar 
myApp.jar 

は、ここに私のコードは次のようになります。

try { 
    // To get the path of the directory where my current running JAR is 
    String jarPath = myApp.class.getProtectionDomain().getCodeSource().getLocation().getPath(); 
    String path = URLDecoder.decode(jarPath.substring(0, jarPath.lastIndexOf("/")), "UTF-8"); 

    // The system command to execute 
    String command = "java -Xmx1024m -jar "+path+"/assets/jarFile.jar and-so-on..."; 

    Process p = Runtime.getRuntime().exec(command); 
    ... 
} 

jarFile.jarが途中で実行可能JARではありません。

+0

[エラー:Jarファイルにアクセスできません]の複製があります(http://stackoverflow.com/questions/11943948/error-unable-to-access-jar-file) – NickL

+0

@NickLその質問も読んでいます私の前に答えを出しています。私たちは別のケースです。可能な重複はありません。 –

+0

おはこ、何を試しましたか?別の場所?パスに間違ったスラッシュ?不思議なシンボル?スペース?引用符で囲んでみましたか? execで完全パスを手動で入力しますか?権限をチェックしましたか? – NickL

答えて

0

jarファイルのパスを見つけるコードが正しいパスを返さないようです。

関連する問題