2014-10-06 50 views
0

我的項目結構如下如何設置類路徑中的Java manifest.txt

TestProject 
    | 
    |---- src 
    |  | 
    |  |---- package 
    |    | 
    |    |---- main.java 
    | 
    |---- externaLibs 
       | 
       |---- lib.jar 

的manifest.txt是如下:

Manifest-Version: 1.0 

    Created-By: 1.7.0_06 (Oracle Corporation) 

    Main-Class: package.Main 

    Class-Path: ../externaLibs/lib.jar ./externaLibs/lib.jar /externaLibs/lib.jar externaLibs/lib.jar lib.jar (However I've tried these class paths to the lib.jar, none of them works) 

導出我的項目與Eclipse,然後,在執行命令時:Java的罐子main.jar文件,有關無法找到外部lib.jar例外總是發生:

Exception in thread "main" java.lang.NoClassDefFoundError: org/example/SomeClassInLib 

ŧ他輸出的jar結構如下:

testproject.jar 
    | 
    |---- externaLibs 
    |  | 
    |  |---- lib.jar 
    | 
    |---- pasckage 
    |  | 
    |  |---- main.java/main.class/and so on... 
    | 
    |---- META-INF 
      | 
      |---- MANIFEST.MF 

manifest.txt有什麼問題?

感謝您的幫助。

+0

請添加一些關於生成的main.jar所在的文件結構的聲明,以及它與externalLibs文件夾的關係。 – mschenk74 2014-10-06 11:07:16

+0

添加輸出jar結構。請檢查,謝謝 – Fischer 2014-10-07 02:17:36

+0

問題是你的externalLibs文件夾在jar文件中。標準類加載器不支持這個「胖罐子」 – mschenk74 2014-10-07 04:15:26

回答

1

在eclipse中導出時,有一個選項可導出爲Runnable Jar File。您可以使用嚮導中處理單選按鈕的庫來選擇如何處理依賴關係。通過前兩個選項,依賴關係會被添加到您的jar中。第三個選項創建一個輸出文件夾,並將依賴性jar放置在jar的可訪問位置。

+0

嘗試使用該選項導出爲Runnable Jar文件。然而,在啓動配置的領域,我的項目似乎不能選擇和導出。我還注意到有些項目出現,有些則沒有。是什麼造成這種差異?謝謝 – Fischer 2014-10-07 02:21:56

+0

好吧,我明白了。所以啓動配置是eclipse如何決定項目的主要類。所以如果你執行主要方法,你會看到它顯示爲一個運行配置。所以繼續,首先運行一次main方法。然後菜單「運行」 - >「運行配置...」將顯示運行配置列表。你應該在那裏看你的課。如果需要,您可以在那裏對其進行調整,名稱等。 – 2014-10-07 08:25:18

+0

此外,您只會看到Java項目的選項,其他項目不會出現。 – 2014-10-07 09:51:13