Eclipse.導出可執行的jar(包含第3方jar)


1、不包含 第三方jar 的情況:

 (1)項目右鍵--> Export... --> 選擇"JAR file"(記得有看到有的博客上寫的是選擇"Runnable JAR file",未嘗試過,不知道干啥用的 區別是啥...)--> Next

  

 (2)確認 選中的項目是正確的項目--> 在"JAR file:"的文本框中 選擇好路徑 填寫好jar的名字 -->其它默認-->Next

  

 (3)保持默認 --> Next

  

 (4)我記得應該就是這個樣子的... --> Finish

  

 

2、包含 第三方jar 的情況:

 就是上面的(4)不同,變成這個樣子:

  

 指明 需要的 MF文件,其實就是 根據MF里面配置的規則來生成jar

 

 2.1、在這個過程中還遇到了一個問題插曲:

C:\Users\33\Desktop\DB>java -jar Oracle10.2.0.4.jar
Oracle10.2.0.4.jar中沒有主清單屬性

C:\Users\33\Desktop\DB>

  運行 jar的時候 報錯“Oracle10.2.0.4.jar中沒有主清單屬性”

  其實原因是 MF的配置不對...

 

 2.2、在 文章“如何使用Eclipse將包含第三方jar庫的java工程打包成jar包 - Borny鼎鼎的博客 - CSDN博客.html”(https://blog.csdn.net/vinegar93/article/details/78467591)中,

  有給出示例的MF文件內容:

Manifest-Version: 1.0
Class-Path: lib/commons-io-2.4.jar lib/httpclient-4.4.1.jar lib/httpcore-4.4.1.jar lib/httpmime-4.4.1.jar lib/jcl-over-slf4j-1.7.7.jar lib/noggit-0.6.jar lib/slf4j-api-1.7.7.jar lib/stax2-api-3.1.4.jar lib/woodstox-core-asl-4.4.1.jar lib/zookeeper-3.4.6.jar lib/solr-solrj-5.5.2.jar
Main-Class: cn.hwd.main.M

  也給出了 MF文件的注意事項:

第一行是MAINIFEST的版本,第二行Class-Path就指定了第三方jar包的位置,第三行指定我們要執行的包含main方法的java文件。
注意:
(1)Class-Path和Main-Class后邊都有一個空格。
(2)假設我們的項目打包后為test.jar,那么按照上面的定義,應該在test.jar的同層目錄下建立一個lib文件夾,並將相關的jar包放在里面。
(3)Main-Class后面是類的全地址。
(4)寫完Main-Class后一定要回車(即最后一行是空白行)。

  ZC:可能是博客內容的原因,我看到 MF文件內容是3行,也就照着樣子 寫了3行,結果就報錯 “Oracle10.2.0.4.jar中沒有主清單屬性”

  ZC:其實,我就是少了 最后的一個空白行(沒在"Main-Class"后面敲回車)...

 

3、上面的 生成包含第三方jar的jar文件的方式,采用的方式實是 :指明第三方jar的相對路徑,使得 我們的jar程序能夠找到 第三方的jar並正確的調用它。

  還有一種方式,是將 第三方jar 一起打包到 目標jar里面,是使用 Fat jar插件的安裝方式,以前用過一次,后面就沒用到它了,這里就不記錄詳細過程了。

  參考網址:通過Eclipse生成可運行的jar包 - xiangyong2008的專欄 - CSDN博客.html(https://blog.csdn.net/xiangyong2008/article/details/6446887

  關鍵字:net.sf.fjep.fatjar_0.0.31.zip

  PS:net.sf.fjep.fatjar_0.0.31.zip 之前下載過,網頁內容之前也保存過,公司的機子ThinkPadE440的路徑"E:\From_Home\java__html解析__相關\33SouFang\java__通過Eclipse生成可運行的jar包"中可以找到它們,家里的機子ThinkPadE40 在 文件夾"XXX相關"中也能找到

4、

5、

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM