2013-10-08 124 views
0

我正在尝试使用StringUtil类来自Apache Commons Lang jar (commons-lang3-3.1-bin.zip)
所以我将这个jar添加到我的课程路径中,然后运行该程序。
当我运行我的代码时,我得到一个异常,如
"Caused by:java.lang.ClassNotFoundException:org.apache.commons.lang.StringUtils"Apache Commons Lang异常

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

之后,我下载了源代码,然后编译该类,然后在java反编译器中打开该编译类,然后它也显示相同的错误。那么我该如何解决这个问题,我怎样才能使用这个问题enter image description here

回答

0

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

确保您添加到项目中的JAR不commons-lang3-3.1-bin.zip,但在commons-lang3-3.1-bin.zip 公地lang3-3.1.jar

+0

干草。 – Amar

1

在commons-lang 2.x.x和3.x.x之间,软件包从org.apache.commons.lang(根据例外情况在您的代码中缺失)移动到org.apache.commons.lang3,如截图所示。

你要么降级到公共琅2.6或更新您的代码从org.apache.commons.lang.StringUtils进口申报改为org.apache.commons.lang3.StringUtils

+0

其实我正在使用这个库作为支持jar。我试图使用Apache CXF从内部使用此StringUtils类从wsdl bt中提取类。所以它不受我的控制。我已经在使用“Apache commons lang3”中的一些类,但不使用StringUtils。因此,如果在我的项目中使用这两个版本,将会产生另一个问题。那么Apache的问题......? – Amar

+0

由于它们位于不同的包中,因此不会产生问题。 – YMomb

0

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

Java代码尽管向后不兼容的标签,在广大 大多数情况下,简单地将“3”添加到导入声明 就足以满足您的迁移要求。

变化:进口org.apache.commons.lang - 我使用的罐子不仅没有ZIP文件>导入 org.apache.commons.lang3

+0

其实我正在使用这个库作为支持的jar。我试图使用Apache CXF从内部使用此StringUtils类从wsdl bt中提取类。所以它不受我的控制。我已经在使用“Apache commons lang3”中的一些类,但不使用StringUtils。因此,如果在我的项目中使用这两个版本,将会产生另一个问题。那么Apache的问题......? – Amar

+0

“因此,如果在我的项目中同时使用这两个版本,将会产生另一个问题”什么是问题? – Willam2004

相关问题