0

我正在尝试使用Apache Commons Lang jar (commons-lang3-3.1-bin.zip)中的StringUtil 类。 所以我将这个 jar 添加到我的类路径中并运行了该程序。 当我运行我的代码时,我遇到了一个异常,例如.


"Caused by:java.lang.ClassNotFoundException:org.apache.commons.lang.StringUtils"

我使用 java 反编译器打开了这个类,当我打开它时显示为
"// INTERNAL ERROR //". 除了这门课,其他课都很好。

之后,我下载了源代码并编译了该类,然后在 java 反编译器中打开了该编译后的类,然后它也显示了相同的错误。那么我该如何解决这个问题以及如何使用这个问题在此处输入图像描述

4

3 回答 3

1

在 commons-lang 2.xx 和 3.xx 之间,包已经从org.apache.commons.lang(根据异常丢失到您的代码中)移动到org.apache.commons.lang3屏幕截图中显示的位置。

要么降级到 commons-lang 2.6,要么更新代码以将导入声明从更改org.apache.commons.lang.StringUtilsorg.apache.commons.lang3.StringUtils

于 2013-10-08T08:05:01.250 回答
0

确保您下载的文件是正确的。

确保您添加到项目中的 jar 不是commons-lang3-3.1-bin.zip,而是 commons-lang3-3.1-bin.zip 中的commons- lang3-3.1.jar。

于 2013-10-08T08:02:44.017 回答
0

http://commons.apache.org/proper/commons-lang/article3_0.html

Java 代码 尽管有向后不兼容的标签,但在绝大多数情况下,在 import 语句中简单地添加“3”就足以满足您的迁移需求。

更改:导入 org.apache.commons.lang -> 导入 o​​rg.apache.commons.lang3

于 2013-10-08T08:08:31.393 回答