尽管pom中包含CommonsLang,但获得异常java.lang.NoSuchMethodError:org.apache.commons.lang.StringUtils.join
我有以下几点尽管pom中包含CommonsLang,但获得异常java.lang.NoSuchMethodError:org.apache.commons.lang.StringUtils.join,java,maven,weblogic,classpath,apache-commons-lang,Java,Maven,Weblogic,Classpath,Apache Commons Lang,我有以下几点 String pattern = "\\b(" + StringUtils.join(mypattern, "|") + ")\\b"; 在pom.xml中,我对 <dependency> <groupId>commons-lang</groupId> <artifactId>commons-lang</artifactId> <version>2.6</version>
String pattern = "\\b(" + StringUtils.join(mypattern, "|") + ")\\b";
在pom.xml中,我对
<dependency>
<groupId>commons-lang</groupId>
<artifactId>commons-lang</artifactId>
<version>2.6</version>
</dependency>
公地郎
公地郎
2.6
然而,当我执行时,我得到以下错误,尽管有commons lang
java.lang.NoSuchMethodError:org.apache.commons.lang.StringUtils.join
(Ljava/util/Collection;Ljava/lang/String;)Ljava/lang/String
我如何解决这个问题
更新1
战争内容
战争结构
jar在你的运行时类路径中吗?你的类路径上有旧的(2.3之前的)commons lang版本吗?这不是一个真正的布局——它只是一个jar文件列表。它没有显示它们在war文件中的位置。服务器上的其他地方呢?是否存在可能导致问题的较旧版本的commons lang?@Polppan不,您没有。您只显示了war中的顶级文件夹和文件。我们仍然不知道jar文件在war文件中的位置。对-这是我从一开始就在寻找的。哦,好吧。我有一个可以使用的诊断步骤-在代码的前面,打印出
StringUtils.class.getClassLoader().getResource(“org/apache/commons/lang/StringUtils.class”)
-它将显示类的加载位置。在weblogic server中,有com.bea.core.apache.commons.lang_2.1.0.jar
,那么这一定是问题的根源?如果是这样,如何不使用jar的服务器版本?