jar打包问题
打jar包命令:jar cvf <打包生成的jar文件> <要打包的目录>要打包的目录>打包生成的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文件
之前遇到过这个问题,但是没记,结果忘了,总觉得不记住的话,以后还会浪费时间到这里。