在我们引入第三方jar包的时候,有时候编译不报错,但运行会报java.lang.NoClassDefFoundError;

针对这个问题,以下两种方案可以解决问题,但建议选取第二种,因为第一种会很大程度上的增大包大小:


第一种方案:

1、将需要的第三方包拷贝进libs 文件夹。
2、将引用的第三方包,添加进工作的build path -->工程上右键 -->Properties -->Java Build Path -->Libraries -->add jars -->添加进对应jar包
3、(关键的一步)将lib设为源文件夹。---libs文件夹右键-->build path -->Use as Source Folder

此时应该就可以编译运行了,可以看下对应包大小是不是增大不少(预计是增加jar包2倍大小);


第二种方案:

鼠标右键项目,然后属性(Properties),然后java build path 然后order and export 使android private librars处于勾选状态,让你的jar包也处于勾选状态

此时编译运行应该也ok,此时包大小增加在可接受范围;


个人实例:

本来大小 600k,合入一个三方jar

第一种方式eclipse编完2.4M,第二种方式eclipse编完1.1M,差异还是很明显的!

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐