私の問題は、Javaプログラムでjarファイルを開くことができないことです。オープン、その中にOpenCVのライブラリを持っている。私はの.jarをダブルクリックすると、それは正常に動作。私は、Mac OS Xターミナルでそれを入力した場合、それは罰金aswellに動作します。だから、Runtime.getRuntime()。exec( "java -jar xxx.jar); Not Working | Mac OS X
@Override
public void actionPerformed(ActionEvent e) {
if(e.getSource() instanceof JButton){
JButton button = (JButton) e.getSource();
if(button.getText().equals("Aktivieren")){
System.out.println("Yaay");
String str;
if(Main.os.contains("Mac")){
str = "java -jar "+System.getProperty("user.home") + "/Library/Application\\ Support/MW"+"/System/Core.jar";
System.out.println(str);
} else {
str = "java -jar "+Main.directory+"/MW/System/Core.jar";
}
System.out.println(str);
try {
Runtime.getRuntime().exec(str);
} catch (IOException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
}
}
}
SYSOUTの出力次のとおりです。 のjava -jar /ユーザ/テック/ライブラリ/ Application \サポート/ MW /システム/ Core.jar
と私はターミナルで手動で貼り付けるとそれだけで正常に動作しますが
。エラーメッセージは表示されません。
私の悪い英語、私のドイツ人のために申し訳ありません。
おかげで(または何でも)テック
あなたがプロジェクトのためにそれを必要とEclipseのようなIDEを使用する場合は、あなたが 'jarファイルを追加する必要がありますビルドパス '。これに関するリソースがたくさんあり、重複を避けるために新しいものを投稿したくありません。 –
これはクラスパスの問題が原因と考えられます。 –
スペースやバックスラッシュを含むパラメータで 'Runtime.exec(String)'を使用できないため、これは失敗します。代わりに 'Runtime.exec(String [])'を使用してください。 '.exec(新しいString [] {" java "、" -jar "、System.getProperty(" user.home ")+"/Library/Application Support/MW/System/Core.jar ")})'バックスラッシュはありません) –