2013-06-30 53 views
0

我已經包含XML,DB等這樣的實用工具類的實用程序Java項目。這需要第三方對一些Apache公共庫的依賴,所以我通過配置eclipse Juno中的構建路徑將它添加到了我的java項目中。現在我想將這個java項目導出爲jar文件。當我將這個項目導出爲可運行jar文件時,它工作正常,即如果我將這個jar包含在其他java項目中,我可以訪問實用程序類,但是當我只是將實用程序項目導出爲jar時,我無法使用它。 Runnable jar需要一個主類,但我不想在我的實用程序java項目中保留一個主類。我已經比較了這兩個jar文件。我發現的區別在於,在可運行jar文件中,沒有.classpath文件,但是存在一個簡單的jar文件。在可運行的jar文件中,所有的jar文件在名爲MANIFEST-INF.mf文件的文件中提到,但是在簡單的jar文件中它只包含.mf文件的版本。任何人都可以告訴我如何在沒有主類的情況下創建一個jar文件,並將其用於其他java項目,以便我只需包含jar文件並按原樣使用它。如何將Java項目導出爲jar文件

+0

快速瀏覽一下在行家。也許它解決了你的問題。 http://maven.apache.org/guides/getting-started/maven-in-five-minutes.html – smsnheck

+0

由於我尋找到的maven太備份計劃。但是這真的很簡單,我應該可以從eclipse本身做到這一點,不是嗎?你的意思是說,我的上述情況是不可能通過日食? –

+0

連這傢伙有同樣的問題:http://stackoverflow.com/questions/16422892/how-to-export-a-jar-file-including-my-classes-and-other-jar-files-extracted-us ?rq = 1但沒有人通過eclipse提供瞭解決方案 –

回答

0

如果你只是導出項目JAR文件,你可以通過打包使用Apache Ant工具的jar(戰爭)。 做這樣的事情:

<jar destfile="${dist}/lib/app.jar" 
    basedir="${build}/classes" 
    excludes="**/Test.class" 
/>` 
0

我認爲它並沒有在Eclipse提供了,因爲在一個實用工具項目中提取外部第三方庫類的東西不規範。隨着項目的發展,它可能會導致很多問題,階級衝突就是其中之一。
如果你想繼續你的方法,你可以將你的項目導出爲普通的jar項目。此後,打開您的項目以及其他第三方庫,如7zip,並將第三方庫內容(META-INF除外)拖放到項目罐中。就這樣。
不過,若你想自動執行它,螞蟻將成爲你的朋友。

+0

我只是想知道如何Apache公共或dom4j或log4j或任何其他罐子......這些罐子是不是可執行文件,仍然可以包括他們在他們的項目和使用它? –

+0

@MrunalGosar但是這些罐子不包括外部依賴類。如果您只是想將您的課程導出爲jar,則此功能已可用。 –

相關問題