2012-02-02 38 views
0

我是jar我的Java Swing應用程序也使用joda.time,apache.commons和一些其他外部jar s。使用Eclipse進行JAR時,什麼原因導致「重複輸入」警告?

運行輸出jar但是,Eclipse在通過導出> Java>可運行Jar生成jar時報告了一些警告。我選擇處理外部jar的「重新包裝」選項。這是約146行警告列表的頂部。

JAR export finished with warnings. See details for additional information. 

    Details: 
    duplicate entry: allclasses-frame.html 
    duplicate entry: allclasses-frame.html 
    duplicate entry: allclasses-noframe.html 
    duplicate entry: allclasses-noframe.html 
    duplicate entry: constant-values.html 
    duplicate entry: constant-values.html 
    duplicate entry: deprecated-list.html 
    duplicate entry: deprecated-list.html 
    duplicate entry: help-doc.html 
    duplicate entry: help-doc.html 
    duplicate entry: index-all.html 
    duplicate entry: index-all.html 
    duplicate entry: index.html 
    duplicate entry: index.html 
    duplicate entry: overview-frame.html 
    duplicate entry: overview-frame.html 
    duplicate entry: overview-summary.html 
    duplicate entry: overview-summary.html 
    duplicate entry: overview-tree.html 
    duplicate entry: overview-tree.html 
    duplicate entry: package-list 
    duplicate entry: package-list 
    duplicate entry: resources/inherit.gif 
    duplicate entry: resources/inherit.gif 

由於這是針對桌面的Swing應用程序,大約htmlcss(未顯示)警告是頗爲意外。建議嗎?

回答

4

這看起來像jar文件包括Javadocs。重複的條目會以某種方式破壞。但是,除非你需要Javadocs,否則你不需要關心。儘管如此,嘗試獲取沒有源代碼或文檔的jar文件。另外,Eclipse有一個選項,可以將依賴項jar包含爲jar(而不是將所有內容全部扔在一起)。你也可以嘗試一下。

+1

包裝瓶的依賴放進玻璃瓶(而不是包裝類放入瓦罐)解決了這個問題了我。 – H2ONaCl 2013-01-25 18:32:24

0

這是不正確的。

問題是,您正在導出到一個jar文件,從引用庫(您使用的Jar庫)中提取類。

而且,當eclipse提取jar文件中滿足的所有東西,覆蓋具有相同名稱和路徑的不同對象。

我有同樣的問題,我正在尋找一個解決方案,因爲你可以將罐子'包裝'成罐子,但它是一個較慢的可運行解決方案。

運氣

1

對於我來說,我有我的主要方法XXX.java,並把它搬到YYY.java,所以我的運行配置仍設置爲使用XXX爲主要切入點。在所有duplicate entry: blahblahblah消息的底部,有一個表示類似unable to locate main class的東西。所以我只是改變了我的運行配置,所有的錯誤都消失了。

0

我通過在Runnable JAR文件導出對話框的Runnable JAR規範中單擊「將所需的庫打包到生成的JAR中」來解決該問題,而不是默認的「將所需的庫提取到生成的JAR中」。

Eclipse IDE的Java開發人員 版本:月神服務版本2(4.4.2) 版本ID:20150219-0600

+0

是的,看起來「jar in jar」解決方案擺脫了警告。 Eclipse對話框有點神祕,這太糟糕了。替代方案可能是「入級的jar」,它暴露了引發警告的標識符。 – H2ONaCl 2017-05-19 03:19:04

相關問題