eclipse生成export生成jar詳解
使用eclipse打jar包可能還有很多人不是很瞭解,今天特意測試整理一番。
打jar包有兩種形式一種是生成可執行的jar,一種是生成不可執行的jar
第一種生成可執行的jar:
用eclipse 的 export runable jar file (這個選項應該是後期eclipse版本才有的吧,發現網上好多介紹eclipse打jar包的文章中給出的圖片都沒有這個選項)
在Launch configuration:選擇要打jar包的mian所在的類名
Export destination 意思是將生成的jar包放在哪,選擇一個路徑
Library handing (庫的管理)
第一個 提取需要的類庫(
用這個打出來的jar包,大小是三個選項中居中的一個
第二個 將需要的Jar庫包放到生成的 jar 檔案中,也就是將第三放的jar檔案存放在你新生成的jar檔案中,所以這個選 項生成出來的檔案是最小的(但往往會出現問題,可能是些路徑問題吧!在下面會貼出各自的MANIFEST.MF)
第三種 將需要的庫拷貝到一個子資料夾並放在生成的 jar 檔案旁邊(這個往往生成的總大小最大,但好像也最穩定可行)
第一個及第三個MANIFEST.MF
都是如下形式
而第二個確實這樣的
越複雜,往往問題也就越多, 我個人喜歡第三種!
第二種生成一般的jar
執行 Export ------->JAR file
這裡有幾個選項:
* Export generated class files and resources 表示只匯出生成的.class檔案和其他資原始檔
* Export all output folders for checked projects 表示匯出選中專案的所有資料夾
* Export java source file and resouces 表示匯出的jar包中將包含你的原始碼*.java,如果你不想洩漏原始碼,那麼就不要選這項了
* Export refactorings for checked projects 把一些重構的資訊檔案也包含進去
在Select the export destination中選擇匯出的jar的路徑:
Options:的操作
Compress the contents of the JAR file 壓縮精簡 jar檔案的內容
Add directory entries 增加目錄條目(很少人知道這個選項有什麼用,其實他真的很有用!
在spring中有個這樣的標籤 <context:component-scan />,它可以用來自動掃描包, 但是如果在你打的jar包裡要不勾選Add directory entries,那麼你這個jar包,就不能spring的jar包那樣 可以被掃描到)
Overwrite existing files without warning 沒有警告的情況下覆蓋現有的檔案
Options:的操作我喜歡都勾選
點選NEXT
本頁面 就是說,編譯時的一些 錯誤警告 是否匯出,
jar檔案的一些描述資訊是否放在工作空間中,這要看你自己的需要
如果你生成的jar 檔案不是用來執行的,那麼直接finish就OK 了,如果繼續NEXT
這個頁面 其實是用來配置一些MANIFEST.MF的資訊,主要目的是生成可執行的jar,(因為以前的eclipse版本是沒有export runable jar file )
其實這個頁面就類似手動配置MANIFEST.MF而export runable jar file 是自動生成一個MANIFEST.MF