jar打包问题

文章链接:http://www.liuschen.com

打jar包命令:jar cvf <打包生成的jar文件> <要打包的目录>

1. 问题发现

但是打完包我却出现一个问题,就是引用后无法调用jar包内部的方法。可能是由于我打的包内部调用有native方法,因为我之后通过eclipse中的导出jar包功能又对比试了一下,发现,普通的包可以正常导出,但是带有native方法的包导出会报异常:

JAR creation failed. See details for additional information.
  	Class files on classpath not found or not accessible for: 'XXXX'

由于有缓存的原因,eclipse反复尝试多次导出并不稳定,clean的效果也有限。
最终确定eclipse上导出问题是由于缓存问题,需要修改bug后clean,必须真实clean后再导出才能成功。

2. 问题解决

通过eclipse中的导出jar包功能时,会先将java文件编译为class文件,而我通过jar命令打包却没有进行这一步,正确应该是:

1. 先通过javac命令将Java文件编译成class文件
2. 通过jar命令将class文件打包成jar文件

之前遇到过这个问题,但是没记,结果忘了,总觉得不记住的话,以后还会浪费时间到这里。

Loading Disqus comments...
Table of Contents