【学习分享】jar包涉及到的知识介绍
开发中,我们经常使用jar包,但可以一些细节我们却不常用。
(1) 如何构建jar包?
(2) jar是否可执行?
(3) jar包是否可以被隐式引用?
(4) jar包是不是可以包含类文件以外的文件?
(5) jar之间是不是可以相互依赖?
下面我们逐一介绍:
(1) 如何构建jar包。
构建jar的方式有很多,可以使用构建工具Ant和Maven构建。
下面介绍下:使用eclipse 导出jar包。
步骤: 选择要导出jar包的包——>选择java——>jar包——>选择要导出的jar包——>填写导出jar包的名字(路径)——>依次点击下一步即可。
此块应用在修改开源jar包中某个类,重新打包时,比较常用。
(2) jar是否可执行?
jar包是可执行的,只需在导出jar时,在填写导出jar包的名字(路径)后,选择应用程序入口点的类,即可。
这样运行时java –jar jar包名,即可执行应用程序入口点的类。
此块对应着jar包中:MAINFEST.MF 文件中Main-Class: cn.xxt.jarpro.PrintPath
(3) jar包是否可以被隐式引用?
jar包是可以被隐式引用的。
如果是命令行执行的话: 可以将引用的jar包放置到 jdk1.5.0_12\jre\lib\ext即可。
如果是eclipse的话,可以将引用的jar包依照如下配置即可。
窗口——>首选项——>java——>已安装的jar——>选中当前正在使用的jre——>点击编辑——>jre系统库处添加外部jar即可。
(4) jar包是不是可以包含类文件以外的文件。
这点很容易明白,打开spring2.5.jar等相关包中,我们会看到资源文件、class文件、xml文件等。
构建时,只需将jar包需要的资源文件与xml配置文件一起打包即可,当大家对jar包进行打包时,如果涉及到资源文件与xml配置文件,推荐大家使用Fat jar插件。
(5) jar之间是不是可以相互依赖?
当我们在开源网站上下载jar包时,通常都有会说明,请同时下载其它的jar包,这种就是依赖,说明我们使用的jar包中调用了其它的jar包。如果我们没有下载完全,当使用jar包时,可能会出现某些类找不到,原因就在于此。
这块配置:可以使用Fat jar插件构建依赖性。
备注:使用Fat.jar构建出来的依赖性,是将依赖的jar包直接整合到新的jar中,如果构建像开源的jar一样的依赖,可以使用ANT和MAVEN。