我的問題是,我無法在Java程序中打開jar。開放,中有一個OpenCV庫。如果我雙擊該.jar,那麼它做工精細,如果我在Mac OS X的終端類型,它正常工作以及。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();
}
}
}
}
所以系統輸出的輸出是: Java的罐子/用戶/技術/庫/應用程序\支持/ MW /系統/ core.jar添加
當我在終端手工粘貼它只是正常工作
。而且我沒有收到錯誤消息。
對不起,我的英語不好,即時通訊德語。
謝謝(或其他)技術
,並使用像Eclipse的IDE,你需要添加'一個罐子到buildpath'。這裏有大量的資源,我不想發佈一個新的,以避免重複。 –
我認爲這可能是因爲classpath問題。 –
這會失敗,因爲您不能使用帶有空格或反斜槓的任何參數的「Runtime.exec(String)」。使用'Runtime.exec(String [])'代替,例如'.exec(new String [] {「java」,「-jar」,System.getProperty(「user.home」)+「/ Library/Application Support/MW/System/Core.jar」)}沒有反斜槓) –