2012-06-21 94 views
0

我想合併2個簡單的程序。我要製作成一個.jar文件,這是我寫的代碼: (project1.jar和project2.exe都打包到這的.jar)當我運行.jar導出時不起作用(文件路徑)

public class main 
{ 
    public static void main(String[] args) 
    { 
     try 
     { 
     Runtime.getRuntime().exec("cmd /c project1.jar"); 
     Runtime.getRuntime().exec("cmd /c project2.exe"); 
     } 
     catch(Exception exce) 
     { 
     /*handle exception*/ 
     } 
    } 
} 

一切工作就好了在Eclipse中的項目(這兩個文件都被執行,就像我想要的)。但是,當我將這個項目導出到.jar並運行它時,沒有任何反應。我認爲它與文件路徑有關,因爲它在eclipse中運行時工作正常。如何解決這個問題?

+0

任何錯誤或什麼? –

+0

沒有錯誤,編譯後只是一個警告。 JAR導出已完成警告。詳情請參閱附加信息。 導出有編譯警告:merge/src/main.java – user1471327

+0

如何運行你的jar文件? –

回答

0

如果您將這兩個罐子都打包到第三個罐子中,這將不起作用。
對於您的「cmd ...」來查看和使用這兩個.jar文件,它們必須直接存在磁盤上,而不是打包在另一個jar文件中。

要解決此問題,您可以:
- 分發3個jar文件,並使用上述的「main」類。你可能需要調整「main」才能正確使用jar路徑。

- 從這兩個jar文件中解壓類,並將他們的.class文件放到你的大jar文件中,然後將你的「main」改爲正確的入口點類而不是引用.jar文件。

- 使用onejar作爲別人提及