у меня есть следующее
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
Содержание войны
Структура войны
StringUtils.join(Collection, String)
был добавлен в 2.3, поэтому, если ваше приложение было скомпилировано с 2.3 или более поздней версией, но работает с 2.2 или более ранней, вы получитеNoSuchMethodError
- person Mark Rotteveel   schedule 28.01.2015StringUtils.class.getClassLoader().getResource("org/apache/commons/lang/StringUtils.class")
- это покажет вам, откуда загружается класс. - person Jon Skeet   schedule 28.01.2015com.bea.core.apache.commons.lang_2.1.0.jar
, так что это должно быть причиной проблемы? Если да, то как не использовать серверную версию jar? - person Jacob   schedule 28.01.2015StringUtils.class.getClassLoader().getResource("org/apache/commons/lang/StringUtils.class")
- я бы ожидалcom.bea.core.apache.commons.lange_2.1.0.jar
для разных пакетов, но это может быть не так... - person Jon Skeet   schedule 28.01.2015null
во время выполнения.log.info("class *** " + StringUtils.class.getClassLoader().getResource( "org/apache/commons/lang/StringUtils.class"));
- person Jacob   schedule 28.01.2015com.bea.core.apache.commons.lange_2.1.0.jar
содержитorg\apache\commons\lang\StringUtils.class
Так это виновник? - person Jacob   schedule 28.01.2015wls1036\modules
- person Jacob   schedule 28.01.2015commons-lang
jar до более новой версии? Если ОС, как мне это сделать? - person Jacob   schedule 29.01.2015