[英]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.