我尝试使用com.google.common.base.Splitter,如下所示
Iterable<String> segs = Splitter.on("/").split("one/two/three/four/five");
for (String seg : segs) {
System.out.println(seg);
}
但是,我看到了以下异常:
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)
有人知道我做错了什么吗?
发布于 2014-04-24 03:19:11
我遇到了同样的问题。原来我用的是旧版本的芭乐。访问该网站:https://code.google.com/p/guava-libraries/,并下载更新的版本。
顺便说一句,google-collections被重新命名为Guava。
发布于 2013-06-18 02:16:57
您的问题是,另一个库可能也包含一个芭乐库,它首先从您的类路径加载,而不是从您想要的版本加载。这将导致此运行时异常。
发布于 2018-06-15 05:51:07
发生这种情况的另一个原因是GSON库在Guava库之前导入。
请参阅:https://github.com/google/guava/issues/2786
我将jars从一个文件夹导入到IntelliJ中。最终起作用的是在gson旁边添加一个"z“(这样jar将被命名为zgson),这样Guava将首先导入。
https://stackoverflow.com/questions/8257545
复制相似问题