Этот метод был введен в Commons Codec 1.4.Это исключение означает, что у вас есть более старая версия кодека Commons где-то еще в пути к классам во время выполнения веб-приложения, который имеет приоритет при загрузке классов.Проверьте все пути, указанные в classpath веб-приложения.Это включает в себя, помимо прочего, Webapp/WEB-INF/lib
, YourAppServer/lib
, JRE/lib
и JRE/lib/ext
.Наконец, удалите или обновите более раннюю версию.
Обновление : согласно комментариям, вы не можете найти ее.Я могу только предложить закомментировать код с использованием этого более нового метода, а затем поставить следующую строку:
System.out.println(Base64.class.getProtectionDomain().getCodeSource().getLocation());
Это должно вывести абсолютный путь к файлу JAR, из которого он был загружен во время выполнения.
Обновление 2 : похоже, это указывает на правильный файл.Извините, я не могу больше объяснить вашу проблему.Все, что я могу предложить, это использовать другой метод Base64
, например encodeBase64(byte[])
, а затем просто создать new String(bytes)
самостоятельно.Или вы можете удалить эту библиотеку и использовать другой кодировщик Base64, например этот .