Исключение в Apache StringUtils - PullRequest
1 голос
/ 29 марта 2012

Привет, ребята, я пытаюсь использовать метод StringUtils.remove, но приведенное ниже исключение повышает, я включаю файл JAR и StringUtils.lowercase и String.countsMatches работает только удалить не в чем может быть проблема

<%@page import="org.apache.commons.lang.StringUtils"%>

это то, как я импортировал, и исключение выглядит следующим образом

java.lang.NoSuchMethodError:
org.apache.commons.lang.StringUtils.remove(Ljava/lang/String;Ljava/lang/String;)
Ljava/lang/String;

Ответы [ 2 ]

2 голосов
/ 31 марта 2012

Метод remove(String,String) был добавлен в версию 2.1 программы commons-lang.Он отсутствует в 2.0 и более ранних версиях.

В зависимости от того, какой контейнер сервлетов или сервер приложений вы используете (и какую версию), путь к классу сервера может содержать устаревшую версию commons-lang, которая используетсявместо вашей копии commons-lang в папке apps / lib.Если это ваша проблема, вы можете настроить приложение так, чтобы оно предпочитало путь к классам приложений, а не путь к классам серверов.

0 голосов
/ 29 марта 2012

Потому что, насколько я вижу в javadoc, StringUtils имеет метод remove, который принимает 2 строковых аргумента, и не имеет метода, который принимает 3 аргумента:

public static String remove(String str,
                            String remove)

см. http://commons.apache.org/lang/api-2.5/org/apache/commons/lang/StringUtils.html

Поскольку существуют разные версии StringUtils, дважды проверьте, что вы работаете с одной и той же версией в среде разработки и развертывания.

...