使用eclipse打jar包可能还有很多人不是很了解,今天特意测试整理一番。
打jar包有两种形式一种是生成可执行的jar,一种是生成不可执行的jar
第一种生成可执行的jar:
用eclipse 的 export runable jar file (这个选项应该是后期eclipse版本才有的吧,发现网上好多介绍eclipse打jar包的文章中给出的图片都没有这个选项)
在Launch configuration:选择要打jar包的mian所在的类名
Export destination 意思是将生成的jar包放在哪,选择一个路径
Library handing (库的管理)
第一个 提取需要的类库(以解压的形式)放到生成的 jar 文件中
用这个打出来的jar包,大小是三个选项中居中的一个
第二个 将需要的Jar库包放到生成的 jar 文件中,也就是将第三放的jar文件存放在你新生成的jar文件中,所以这个选 项生成出来的文件是最小的(但往往会出现问题,可能是些路径问题吧!在下面会贴出各自的MANIFEST.MF)
第三种 将需要的库拷贝到一个子文件夹并放在生成的 jar 文件旁边(这个往往生成的总大小最大,但好像也最稳定可行)
第一个及第三个MANIFEST.MF
都是如下形式
而第二个确实这样的
越复杂,往往问题也就越多, 我个人喜欢第三种!
第二种生成一般的jar
执行 Export ------->JAR file
这里有几个选项:
* Export generated class files and resources 表示只导出生成的.class文件和其他资源文件
* Export all output folders for checked projects 表示导出选中项目的所有文件夹
* Export java source file and resouces 表示导出的jar包中将包含你的源代码*.java,如果你不想泄漏源代码,那么就不要选这项了
* Export refactorings for checked projects 把一些重构的信息文件也包含进去
在Select the export destination中选择导出的jar的路径:
Options:的操作
Compress the contents of the JAR file 压缩精简 jar文件的内容
Add directory entries 增加目录条目(很少人知道这个选项有什么用,其实他真的很有用!
在spring中有个这样的标签 <context:component-scan />,它可以用来自动扫描包, 但是如果在你打的jar包里要不勾选Add directory entries,那么你这个jar包,就不能spring的jar包那样 可以被扫描到)
Overwrite existing files without warning 没有警告的情况下覆盖现有的文件
Options:的操作我喜欢都勾选
点击NEXT
本页面 就是说,编译时的一些 错误警告 是否导出,
jar文件的一些描述信息是否放在工作空间中,这要看你自己的需要
如果你生成的jar 文件不是用来运行的,那么直接finish就OK 了,如果继续NEXT
这个页面 其实是用来配置一些MANIFEST.MF的信息,主要目的是生成可运行的jar,(因为以前的eclipse版本是没有export runable jar file )
其实这个页面就类似手动配置MANIFEST.MF而export runable jar file 是自动生成一个MANIFEST.MF