繁体   English   中英

当我在群集上运行jar时出现NoSuchMethodError

[英]NoSuchMethodError when I'm running jar on cluster

当我运行单元测试时,一切正常,但是当我在集群上运行时,出现NoSuchMethodError

2015-09-07 16:51:40,143致命[main] org.apache.hadoop.mapred.YarnChild:运行子级时出错:java.lang.NoSuchMethodError:com.google.common.base.Splitter.splitToList(Ljava / lang / CharSequence;)Ljava / util / List;

在pom.xml中,我加入了番石榴:com.google.guava:guava:18.0

当我设置番石榴14.0版时,我得到了同样的错误。 我该怎么办?

在您的类路径中检查类拆分器。 可能有两个同名的Splitter类来自两个不同的jar,而一个类覆盖了另一个。

在所有jars Splitter类都存在的情况下签入工作区,并删除一个不需要的依赖项。 这应该工作。

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM