2012-03-02 29 views
4

我正在編寫一個程序,該程序連接到具有包含幾個JAR文件的目錄的Web主機。然後,GUI顯示JAR名稱,當您雙擊名稱時,它將打開JAR文件。Java:在網站上查找JAR文件的主類

我遇到的問題是,並非所有的JAR文件都在同一個地方有主要方法,所以我需要一些方法來查找主類。

我試圖做的方法是這樣的:

File file = new File("website/test.jar"); 
    JarFile jar = new JarFile(file); 
    String mainClass = jar.getManifest().getMainAttributes().get("Main-Class").toString(); 

不過,我得到:

Exception in thread "main" java.util.zip.ZipException: error in opening zip file 

在其中創建一個jar文件對象的行。我想到了兩種解決方案:遍歷JAR中的所有類文件並搜索包含main方法的類文件,或者在指示每個JAR的主文件的目錄中創建一個文本文件。

我寧願使用第一種解決方案,因爲實際上並不需要我每次上傳其他JAR時都要執行額外的步驟。然而,我擔心這是一種「暴力」選擇,而且效率低下。

有沒有人遇到類似的問題? 非常感謝!

回答