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:Users33DesktopDB>java -jar Oracle10.2.0.4.jar
Oracle10.2.0.4.jar中没有主清单属性

C:Users33DesktopDB>

  运行 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_Homejava__html解析__相关33SouFangjava__通过Eclipse生成可运行的jar包"中可以找到它们,家里的机子ThinkPadE40 在 文件夹"XXX相关"中也能找到

4、

5、

原文地址:https://www.cnblogs.com/javaskill/p/10402172.html