Java NoClassDefFoundError:org/apache/commons/lang/StringUtils

Java NoClassDefFoundError:org/apache/commons/lang/StringUtils,java,hadoop,mapreduce,apache-stringutils,Java,Hadoop,Mapreduce,Apache Stringutils,我正在编写map reduce程序来比较两个文件。当我运行该程序时,它会引发以下异常 Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/commons/lang/StringUtils at org.apache.hadoop.metrics2.lib.MutableMetricsFactory.getName(MutableMetricsFactory.java:119) 我的pom文件 <de

我正在编写map reduce程序来比较两个文件。当我运行该程序时,它会引发以下异常

Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/commons/lang/StringUtils
at org.apache.hadoop.metrics2.lib.MutableMetricsFactory.getName(MutableMetricsFactory.java:119)
我的pom文件

 <dependencies>
<dependency>
<groupId>org.apache.hadoop</groupId>
<artifactId>hadoop-core</artifactId>
<version>0.20.2</version>
</dependency>
<dependency>
<groupId>org.apache.hadoop</groupId>
<artifactId>hadoop-mapreduce-client-core</artifactId>
<version>0.23.1</version>
</dependency>
<dependency>
    <artifactId>guava</artifactId>
    <groupId>com.google.guava</groupId>
    <type>jar</type>
    <version>15.0</version>
</dependency>
<dependency>
<groupId>commons-collections</groupId>
<artifactId>commons-collections</artifactId>
<version>3.2.1</version>
</dependency>
 <dependency>
 <groupId>org.apache.commons</groupId>
 <artifactId>commons-lang3</artifactId>
 <version>3.3</version>
  </dependency>
 <dependency>
  <groupId>commons-logging</groupId>
 <artifactId>commons-logging</artifactId>
 <version>1.1.1</version>
 </dependency>
</dependencies>

org.apache.hadoop
hadoop内核
0.20.2
org.apache.hadoop
hadoop mapreduce客户端核心
0.23.1
番石榴
番石榴
罐子
15
公地收藏
公地收藏
3.2.1
org.apache.commons
commons-lang3
3.3
公用记录
公用记录
1.1.1

任何帮助都将不胜感激。

因为错误消息
java.lang.NoClassDefFoundError:org/apache/commons/lang/StringUtils
告诉您,您需要将commons lang添加为依赖项:

<!-- https://mvnrepository.com/artifact/commons-lang/commons-lang -->
<dependency>
    <groupId>commons-lang</groupId>
    <artifactId>commons-lang</artifactId>
    <version>2.3</version>
</dependency>

公地郎
公地郎
2.3

您已经添加了
commons-lang3
,它也有一个StringUtils类,但是包名为
org/apache/commons/lang3/StringUtils
,,错误消息
java.lang.NoClassDefFoundError:org/apache/commons/lang/StringUtils
告诉您,需要添加commons-lang作为依赖项:

<!-- https://mvnrepository.com/artifact/commons-lang/commons-lang -->
<dependency>
    <groupId>commons-lang</groupId>
    <artifactId>commons-lang</artifactId>
    <version>2.3</version>
</dependency>

公地郎
公地郎
2.3

您已经添加了
commons-lang3
,它也有一个类StringUtils,但是包名为
org/apache/commons/lang3/StringUtils

,是的,错误已经解决。但是现在我得到了以下错误。线程“main”中出现异常java.lang.VerifyError:class org.apache.hadoop.hdfs.protocol.proto.ClientNamenodeProtocolProtos$CompleteRequestProto覆盖最终方法getUnknownFields。()Lcom/google/protobuf/UnknownFieldSet@ArunKumar看起来类路径中有不兼容的jar。是的,错误已经解决。但现在我得到了以下错误。线程“main”java.lang.VerifyError中的异常:class org.apache.hadoop.hdfs.protocol.proto.ClientNamenodeProtocolProtos$CompleteRequestProto覆盖最终方法getUnknownFields。()Lcom/google/protobuf/UnknownFieldSet@ArunKumar看起来在类路径中有不兼容的jar。