在我的 java 项目中,我有以下代码行:
CharMatcher.JAVA_LETTER_OR_DIGIT.matchesAnyOf("string");
这条线在 eclipse (Windows, Guava 14.0.1, Java 1.6.0_22-b04) 中完美运行。在我们的集成 VM(debian、Guava 14.0.1 Java 1.6.0_22-b04)上编译时,该行会产生以下错误:
[javac] /opt/quantis/src/Quantis_EJB/ejbModule/internals/QtsSessionManagerBean.java:298: cannot find symbol
[javac] symbol : method matchesAnyOf(java.lang.String)
[javac] location: class com.google.common.base.CharMatcher
[javac] CharMatcher.JAVA_LETTER_OR_DIGIT.matchesAnyOf("string");
这不是类路径问题,因为其他需要 guava 14 特性的行运行良好。以下行不会产生错误:
CharMatcher.JAVA_LETTER_OR_DIGIT.matchesNoneOf("string");
Hashing.sha512().newHasher().putString("string");
关于为什么只有这个符号而不是另一个没有得到解决的任何想法?linux JDK中的特定错误?与我的类路径中的其他潜在 jar 冲突(我们有很多其他依赖项)?