冷面阎罗

低调做人&&高调做事
随笔 - 208, 文章 - 3, 评论 - 593, 引用 - 0
数据加载中……

打jar把第三方的jar也打进去

      之前在我的blog中写道,关于这个问题,以前是不知道怎么实现?地址.后来自己在网上查了,有各种不同的说法,感觉都不怎么实用.
     前几天在看<<Eclipse从入门到精通>>一书,看到一节关于eclipse打包的介绍,感觉有方法了.
     大家都知道打java包,需要一个清单文件,MANIFEST.MF,内容无非就是
Manifest-Version: 1.0
Main
-Class: awt.MyGuiImp
     实际上,清单文件中还有一个重要的,就是Class-Path,大家一看就知道这个是用来干什么的了.不错,这个就是程序运行的支持库的路径.后来上网查了一下,MANIFEST.MF的具体解释是这样:
      打包清单.它是打包的关键性文件,主要是设置执行入口类和支持库的路径,在运行java应用程序时要根据此文件中给出的信息来查找入口类和支持库.
      我们以前只注意了MANIFEST.MF中的入口类,也就是我们常说的主类(有main方法的类),却忽视了支持库.
      Class-Path:指定支持库的路径,"."指程序运行目录,即到处的jar包所在目录.程序运行时依据Class-Path项的设置路径来查找支持库.每一个支持库之间用空格格开.
     后来我自己用到的jar,放一个文件夹lib,lib就放在和jar包一个文件夹下,清单文件这样写
Manifest-Version: 1.0
Main
-Class: awt.MyGuiImp
Class
-Path: ./lib/jacob.jar ./lib/jdom.jar ./lib/log4j.jar
    移到别的计算机,运行jar,就不会出现任何问题了,前提是该计算机必须装jdk.

posted on 2007-01-08 20:10 冷面阎罗 阅读(4135) 评论(3)  编辑  收藏 所属分类: java

评论

# re: 打jar把第三方的jar也打进去  回复  更多评论   

很好学习到了新知识。
2007-01-09 09:36 | stme

# re: 打jar把第三方的jar也打进去  回复  更多评论   

如果真要把内容都合并到一个 jar 中, 可以考虑 FatJar 插件.
2007-01-09 10:00 | BeanSoft

# re: 打jar把第三方的jar也打进去  回复  更多评论   

那個Class-Path的方式,之前試過,記得是不能用的。(測試時,要記得把lib下的檔案移走,才測的出來)

FatJar才 OK.
2007-01-09 15:15 | Tom[匿名]

只有注册用户登录后才能发表评论。


网站导航: