Eclipse 引用外部library工程,运行时报NoClassDefFoundError的解决

本文地址:Eclipse 引用外部library工程,运行时报NoClassDefFoundError的解决

好久没有碰过Eclipse了,公司这边现在在用这个做开发。

在将工程作为library引用至项目的过程中,运行时报错NoClassDefFoundError。

假设我现在是MultiDexApplication工程要引用AndFixLib工程

网上大部分说的操作是:


这么添加,并且


这里要勾选一下。

而实际中测试,Order and Export 勾选不勾选,引用了AndFixLib后项目编译都可以通过。

但是运行时都会报NoClassDefFoundError。


好吧。


其实是我们引用的方式错了。


正确的做法:

1.将AndFixLib设置为library:


保存后,立马在AndFixLib的bin目录下会生成andfixlib.jar,如果我们设置了build automatically的话,删都删不掉。

么错,这个就是我们拿来被引用的jar包。


2.在MultiDexApplication中引用该jar包:


保存就可以了。并且编译运行都不会报错了。


PS:Java build path 中也不用设置。


就这样。

### 回答1: eclipse noclassdeffounderror是指在运行Java程序时,找不到某个类的定义。这通常是由于类路径设置不正确或缺少必要的库文件所致。解决方法包括检查类路径设置、添加缺少的库文件、重新编译程序等。 ### 回答2: 在使用Eclipse过程中,如果遇到了"noclassdeffounderror"错误,意味着在运行时找不到所需要的类。这种错误通常发生在以下情况下: 1. 缺少所需的外部库或JAR文件。当项目依赖于外部库时,确保这些库已正确添加到项目中。可以在Eclipse的构建路径设置中添加这些库,或将它们放置在正确的文件夹中。 2. 缺少需要的类文件。该错误可能发生在项目编译时,其中包含类的编译文件不正确或不存在。在这种情况下,可以重新构建项目并确保正确编译所有类文件。 3. 类路径配置错误。确保Eclipse中的类路径正确配置。可以通过检查项目的构建路径设置来确认路径是否正确。 4. 类的包名错误。如果在运行时找不到类,可能是因为类的包名错误,导致运行时无法找到正确的类。确保在代码中使用和项目结构匹配的正确包名。 5. 类版本不匹配。当使用了旧版本的类文件,但引用的类文件已更新时,可能会出现此错误。在这种情况下,需要确保工程中使用的类版本与引用的类版本匹配。 解决这种错误的方法包括:检查并添加所需的库、重新编译项目、确认正确的类路径配置、修复包名错误以及确保类版本匹配。通过这些步骤,可以解决Eclipse中的"noclassdeffounderror"错误。 ### 回答3: eclipse的"noclassdeffounderror"错误是指在运行Java程序时,找不到相应的类的错误。它通常出现在编译没有问题的代码中,这是因为编译器能够找到所有必需的类,但在运行时无法找到相应的类。 这个错误通常有以下几种常见的原因: 1.类路径错误:Java程序需要在运行时找到所有所需的类文件,如果类路径设置有误,将无法找到所需的类。我们可以检查项目的构建路径是否正确配置,以确保类路径包含所需的类文件。 2.缺少依赖:在运行Java程序时,有时会依赖其他的外部库或JAR文件。如果缺少了这些依赖,就会出现"noclassdeffounderror"错误。我们可以检查项目是否包含所有必需的外部库或JAR文件,并确保它们在类路径中可用。 3.类加载器问题:Java中的类加载器负责加载需要在运行时使用的类。如果类加载器出现问题,就会导致"noclassdeffounderror"错误。我们可以考虑重新启动eclipse,或者尝试手动将缺失的类添加到类路径中。 4.版本不匹配:如果在编译代码时使用的版本与在运行时使用的版本不一致,也会出现"noclassdeffounderror"错误。我们可以检查编译代码时使用的Java版本,并确保在运行时使用相同版本的Java。 总结起来,"noclassdeffounderror"错误通常是由于类路径错误、缺少依赖、类加载器问题或版本不匹配等原因导致的。通过检查类路径配置、依赖关系、类加载器和Java版本等方面,我们可以解决这个错误,并成功运行Java程序。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值