首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >使用com.google.common.base.Splitter时出现NoSuchMethodError异常

使用com.google.common.base.Splitter时出现NoSuchMethodError异常
EN

Stack Overflow用户
提问于 2011-11-24 21:04:32
回答 6查看 41.2K关注 0票数 23

我尝试使用com.google.common.base.Splitter,如下所示

代码语言:javascript
复制
Iterable<String> segs = Splitter.on("/").split("one/two/three/four/five");

for (String seg : segs) {
  System.out.println(seg);
}

但是,我看到了以下异常:

代码语言:javascript
复制
Exception in thread "main" java.lang.NoSuchMethodError: com.google.common.base.Platform.precomputeCharMatcher(Lcom/google/common/base/CharMatcher;)Lcom/google/common/base/CharMatcher;
    at com.google.common.base.CharMatcher.precomputed(CharMatcher.java:664)
    at com.google.common.base.CharMatcher.<clinit>(CharMatcher.java:71)
    at com.google.common.base.Splitter.<init>(Splitter.java:107)
    at com.google.common.base.Splitter.on(Splitter.java:171)
    at Test.main(Test.java:30)

有人知道我做错了什么吗?

EN

回答 6

Stack Overflow用户

发布于 2014-04-24 03:19:11

我遇到了同样的问题。原来我用的是旧版本的芭乐。访问该网站:https://code.google.com/p/guava-libraries/,并下载更新的版本。

顺便说一句,google-collections被重新命名为Guava。

票数 10
EN

Stack Overflow用户

发布于 2013-06-18 02:16:57

您的问题是,另一个库可能也包含一个芭乐库,它首先从您的类路径加载,而不是从您想要的版本加载。这将导致此运行时异常。

票数 2
EN

Stack Overflow用户

发布于 2018-06-15 05:51:07

发生这种情况的另一个原因是GSON库在Guava库之前导入。

请参阅:https://github.com/google/guava/issues/2786

我将jars从一个文件夹导入到IntelliJ中。最终起作用的是在gson旁边添加一个"z“(这样jar将被命名为zgson),这样Guava将首先导入。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8257545

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档