Получение java.lang.ClassNotFoundException: org.apache.commons.logging.LogFactory исключение - PullRequest
172 голосов
/ 12 октября 2009

Я выполняю простую программу Spring Dependency Injection и получаю это исключение. Я уже включил файл common-logging1.1.1.jar и spring.jar. Не могли бы вы помочь выйти?

Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/commons/logging/LogFactory
    at org.springframework.context.support.AbstractApplicationContext.<init>(AbstractApplicationContext.java:119)
    at org.springframework.context.support.AbstractXmlApplicationContext.<init>(AbstractXmlApplicationContext.java:55)
    at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:77)
    at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:65)
    at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:56)
    at com.client.StoryReader.main(StoryReader.java:15)
Caused by: java.lang.ClassNotFoundException: org.apache.commons.logging.LogFactory
    at java.net.URLClassLoader$1.run(Unknown Source)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    at java.lang.ClassLoader.loadClassInternal(Unknown Source)
    ... 6 more

Ответы [ 25 ]

115 голосов
/ 18 июля 2011

Я также столкнулся с теми же проблемами, чтобы исправить, загрузите файлы JAR с ниже URL

http://commons.apache.org/logging/download_logging.cgi

и скопируйте в папку lib, решите вашу проблему.

108 голосов
/ 03 июля 2013

Если вы используете maven для управления зависимостями, добавьте следующую строку в ваш файл pom.xml:

<dependency>
        <groupId>commons-logging</groupId>
        <artifactId>commons-logging</artifactId>
        <version>1.1.1</version>
</dependency>
37 голосов
/ 23 апреля 2013

Вы просто скачиваете commons-logging-1.1.2.jar и затем копируете этот файл в libs

наконец, это работает.

18 голосов
/ 27 апреля 2013

У меня была та же проблема, и я решил ее, просто добавив commons-logging.jar к пути к классам.

16 голосов
/ 17 июля 2014

commons-logging-1.1.1.jar или jcl-over-slf4j-1.7.6.jar al

Если вы используете Maven, используйте следующий код.

<dependency>
    <groupId>org.slf4j</groupId>
    <artifactId>jcl-over-slf4j</artifactId>
    <version>${slf4j.version}</version>
</dependency>
8 голосов
/ 08 июня 2016

Добавление commons-logging.jar или commons-logging-1.1.jar решит эту проблему ...

6 голосов
/ 12 октября 2009

Я уже включил common-logging1.1.1.jar и ...

Вы уверены, что правильно написали имя файла JAR? Я думаю, что это должно быть commons-logging-1.1.1.jar (обратите внимание на дополнительные - в названии). Также проверьте правильность имени каталога.

NoClassDefFoundError всегда означает, что класс не может быть найден, поэтому, скорее всего, ваш путь к классу неверен.

6 голосов
/ 26 апреля 2016

Настройка области компиляции сделала это для меня

<dependency>
  <groupId>commons-logging</groupId>
  <artifactId>commons-logging</artifactId>
  <version>1.2</version>
  <scope>compile</scope>
</dependency>
4 голосов
/ 25 июня 2013

Проблема решена добавлением commons-logging.jar

Imp файлы есть,

antlr-runtime-3.0.1

org.springframework.aop-3.1.0.M2

org.springframework.asm-3.1.0.M2

org.springframework.aspects-3.1.0.M2

org.springframework.beans-3.1.0.M2

org.springframework.context.support-3.1.0.M2

org.springframework.context-3.1.0.M2

org.springframework.core-3.1.0.M2

org.springframework.expression-3.1.0.M2

commons-logging-1.1.1
4 голосов
/ 12 октября 2009

Попробуйте выполнить полную очистку каталога назначения / развертывания, чтобы приложение избавилось от устаревших библиотечных файлов. Создайте новую сборку и убедитесь, что commons-logging.jar действительно находится в правильной папке lib. Возможно, он не будет включен при создании библиотеки для приложения.

...