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、