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、