Java.lang.ClassNotFoundException: org.apache.commons.lang.StringUtils из BaseClassLoader

Я получаю следующую ошибку при запуске моего следующего кода:

java.lang.ClassNotFoundException: org.apache.commons.lang.StringUtils from BaseClassLoader

at org.jboss.classloader.spi.base.BaseClassLoader.loadClass(BaseClassLoader.java:448)
at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
at org.dozer.util.ResourceLoader.getResource(ResourceLoader.java:53)
at org.dozer.util.DefaultClassLoader.loadResource(DefaultClassLoader.java:44)
at org.dozer.config.GlobalSettings.loadGlobalSettings(GlobalSettings.java:116)
at org.dozer.config.GlobalSettings.<init>(GlobalSettings.java:67)
at org.dozer.config.GlobalSettings.<clinit>(GlobalSettings.java:46)
at org.dozer.stats.StatisticsManagerImpl.<init>(StatisticsManagerImpl.java:39)
at org.dozer.stats.GlobalStatistics.<init>(GlobalStatistics.java:29)
at org.dozer.stats.GlobalStatistics.<clinit>(GlobalStatistics.java:24)
at org.dozer.DozerBeanMapper.<clinit>(DozerBeanMapper.java:59)

Пожалуйста, помогите мне решить проблемы.

Ответ 1

Ваш код, похоже, использует пакет apace-commons-lang. Добавляйте банку здесь http://mvnrepository.com/artifact/commons-lang/commons-lang/2.6. Chek для версии, которую вы используете. Добавьте банку в папку lib/classpath.

Ответ 2

Я получил ту же ошибку, я добавил в свой pom.xml следующие строки и отлично работал после установки maven:

<dependencies>

        <!-- commons lang dependency -->
        <dependency>
            <groupId>commons-lang</groupId>
            <artifactId>commons-lang</artifactId>
            <version>2.6</version>
        </dependency>

</dependencies> 

Ответ 3

Если вы используете maven и Ubuntu 14.04:

Это может быть вызвано версией maven, включенной в Ubuntu 14.04, и обходным путем является загрузка tar-сервера maven из http://maven.apache.org/download.cgi и используйте эту версию вместо стандартной версии, предоставляемой дистрибутивом.

Дополнительная информация: https://github.com/airbnb/chronos/issues/211

РЕДАКТИРОВАТЬ: Вы также можете добавить символическую ссылку в commons-lang.jar, чтобы избежать необходимости выполнять пользовательскую установку (Source и @Shoham в комментариях)

cd /usr/share/maven/lib
sudo ln -s ../../java/commons-lang.jar .

Убедитесь, что пути были правильными в вашей системе перед попыткой. Они должны работать для Ubuntu 14.04 OOTB, но всегда проверяйте.

Ответ 4

Добавьте баннер commons-lang либо в WEB-INF/lib, либо в сервер/lib

Ответ 5

включить commons-lang-<version>.jar в свой путь к классам

Ответ 6

Я столкнулся с той же проблемой в последней версии IntelliJ Community Edition (idea-IC-13.224.1 или версии 14) вместе с apache-maven 3.2.3.

Добавление недостающей банки (commons-lang-2.6.jar) в папку $IDEA_HOME/plugins/maven/lib/maven3, похоже, исправляет ее.