nosuchmethoderror

b1payxdu  于 2021-06-03  发布在  Hadoop
关注(0)|答案(2)|浏览(561)

当我运行单元测试时,一切正常,但当我在集群上运行它时,我没有遇到任何错误
2015-09-07 16:51:40143 fatal[main]org.apache.hadoop.mapred.yarnchild:运行child:java.lang.nosuchmethoderror:com.google.common.base.splitter.splittolist时出错(ljava/lang/charsequence;)ljava/util/list;
在pom.xml中,我加入了guava:com.google。guava:guava:18.0
当我设置guava版本14.0时,我得到了同样的错误。我该怎么办?

agyaoht7

agyaoht71#

检查类拆分器的类路径。可能有两个具有相同名称的类splitter class来自两个不同的jar,一个类覆盖另一个类。
在您的工作区中检查what all jars splitter class is present并删除一个不需要的依赖项。这应该管用。

xu3bshqb

xu3bshqb2#

根据变更记录, public List<String> com.google.common.base.Splitter.splitToList(CharSequence) 从15.0版开始引入。因此,您可能需要将版本从14.0更改为15.0或更高版本。我认为18.0也应该起作用。。。

+   * @since 15.0
 +   */
 +  @Beta
 +  public List<String> splitToList(CharSequence sequence) {

相关问题