【发布时间】:2015-01-28 06:49:23
【问题描述】:
我有以下
String pattern = "\\b(" + StringUtils.join(mypattern, "|") + ")\\b";
在 pom.xml 中,我有依赖
<dependency>
<groupId>commons-lang</groupId>
<artifactId>commons-lang</artifactId>
<version>2.6</version>
</dependency>
但是,当我执行时,尽管有 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 文件的列表。它没有显示它们在 in 战争文件中的位置。服务器上的其他地方呢 - 是否有可能导致问题的旧版本的 commons-lang?
-
@Polppan 不,你没有。您只显示了战争中的顶级文件夹和文件。我们仍然不知道 jar 文件在 war 文件中的位置。
-
对 - 那是我从一开始就追求的一点。那好吧。我有一个你可以使用的诊断步骤——在你的代码前面,打印出
StringUtils.class.getClassLoader().getResource("org/apache/commons/lang/StringUtils.class")——它会告诉你从哪里加载类。
标签: java maven weblogic classpath apache-commons-lang