0

我使用了 apache 的 StringUtils 类的 isEmpty 和 isBlank 方法。这些方法效果很好,几周后突然我得到了错误

java.lang.NoClassDefFoundError: org.apache.commons.lang3.StringUtils

我很困惑为什么会突然发生这个错误。如果有人帮助我理解这突然发生的事情,那就太好了。

人们说 apache 可能已经更改了他们 JAR 文件中的定义,这是正确的吗,我真的很困惑为什么会突然发生这种情况,我从构建路径中删除了旧 jar 并下载了相同版本的 New Jar 并将其添加到构建路径,那么这个问题就解决了。

它发生在市场代码中,与 ADT 和市场代码没有交互

在这个问题上真的很困惑吗?

4

2 回答 2

1

这也发生在我身上 - 在更新 Android SDK 工具之后。在当前版本 (19) 中,您需要做的是:

  1. 在项目的根目录中创建 libs/ 文件夹,并将所有 jars 放在那里(文件夹的名称固定为“libs”)
  2. 在此之后,转到项目属性 --> Java 构建路径 --> 库,然后删除您之前添加的所有自定义 jar
于 2012-05-16T08:10:22.417 回答
0

NoClassDefFoundError表示如果 JVM 或 ClassLoader 实例尝试加载类的定义并且找不到该类的定义,则抛出 NoClassDefFoundError。

也许启动脚本覆盖了 Classpath 环境变量

于 2012-05-16T07:57:52.630 回答