Получение java.lang.ClassNotFoundException: исключение org.apache.commons.logging.LogFactory

Я выполняю простую программу Injection Dependency для spring и получаю это исключение. Я уже включил файл 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

Ответ 1

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

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

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

Ответ 2

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

<dependency>
        <groupId>commons-logging</groupId>
        <artifactId>commons-logging</artifactId>
        <version>1.1.1</version>
</dependency>

Ответ 3

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

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

Ответ 4

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

Ответ 5

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>

Ответ 6

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

<dependency>
  <groupId>commons-logging</groupId>
  <artifactId>commons-logging</artifactId>
  <version>1.2</version>
  <scope>compile</scope>
</dependency>

Ответ 7

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

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

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

Ответ 8

Проблема решена путем добавления 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

Ответ 9

Два варианта (по крайней мере):

  • Добавьте баннер сообщений в свой файл, скопировав его в локальную папку.

Примечание: ссылка на банку может привести к проблемам с сервером и, возможно, к причине, по которой она добавлена ​​в путь сборки, но не решает проблему запуска сервера.

Поэтому не указывайте банку на внешнюю папку.

OR...

  1. Если вы действительно не хотите добавлять его локально, потому что вы делитесь банкой между проектами, тогда...

Если вы используете экземпляр сервера tc, вам нужно добавить банку в качестве внешней банки в конфигурацию запуска экземпляра сервера.

запустите, запустите конфигурацию..., {ваш экземпляр сервера tc}, а затем вкладку "Путь к классу".

Затем добавьте банку сообщений об ошибках.

Ответ 10

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

Ответ 11

У меня такая же проблема, как и вы. Наконец, я проверил версию apache, обладающую классом. Я обнаружил, что версия 1.0.4 имеет класс.

Попробуйте использовать версию 1.0.4 вместо 1.1.X или 1.2.X

Мои зависимости:

    <dependencies>
        <dependency>
            <groupId>org.jolokia</groupId>
            <artifactId>jolokia-core</artifactId>
            <version>1.3.5</version>
        </dependency>
        <dependency>
            <groupId>org.jolokia</groupId>
            <artifactId>jolokia-client-java</artifactId>
            <version>1.3.5</version>
        </dependency>
        <dependency>
            <groupId>commons-logging</groupId>
            <artifactId>commons-logging</artifactId>
            <version>1.0.4</version>
        </dependency>
    </dependencies>

Мой код Java

J4pClient j4pClient = new J4pClient("http://localhost:8080/jolokia");
J4pReadRequest req = new J4pReadRequest("java.lang:type=Memory","HeapMemoryUsage");
req.setPath("used");
J4pReadResponse resp = j4pClient.execute(req);
System.out.println(resp.getValue());

Мой результат:

130489168

Дважды проверьте также, что ваши зависимости в maven хорошо импортированы.

Ответ 12

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

Ответ 14

Я обычно назначаю путь к переменной переменной, а затем проверяю ее. Я написал небольшой ruby ​​ script, который я включаю в сценарии запуска, которые проверяет путь к классам перед запуском java. Проверка пути к классам до запуска JVM позволила мне много времени устранить эти проблемы.

Ответ 15

Эй, я следил за учебником на tutorialpoint.com. Добавить после завершения Шаг 2 - Установить API общих журналов Apache:. Вы должны импортировать внешние библиотеки jar в проект из файлов, загруженных на этом этапе. Для меня имя файла было " commons-logging-1.1.1".

Ответ 16

Если вы используете это на Android, обратите внимание, что, по-видимому, пакет java.beans не установлен на Android. Чтобы попытаться исправить это на Android, попробуйте следующее:

  • Загрузите android-java-air-bridge.jar (в настоящее время кнопка загрузки находится в нижней части страницы или прямая ссылка здесь)
  • Скопируйте загруженную банку в каталог [APPROOT]/app/libs (или привяжите банку любым другим способом).
  • Измените выражения import *** на операторский мост. Например import javadz.beanutils.BeanUtils вместо import org.apache.commons.beanutils.BeanUtils;
  • Очистить и перестроить проект

источник 1, источник 2

Прошу прощения, поскольку я понимаю, что это не совсем отвечает на этот вопрос, хотя эта SO-страница очень много поднимается при поиске генерируемых андроидом ошибок NoClassDefFoundError: Failed resolution of: beanUtils.

Ответ 17

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

Ответ 18

Проверьте, правильно ли импортированы банки. Я импортировал их, используя путь сборки. Но он не распознал банку в папке WAR/lib. Позже я скопировал ту же самую банку в папку war/lib. Теперь он отлично работает. Вы можете обновить/очистить свой проект.

Ответ 19

Привет, друзья, если вы получаете какое-либо исключение класса, не найденное в спящем коде, это проблема с файлами jar. В основном есть две проблемы
1.Я хочу сказать, что ваша рабочая старая версия спящего режима может быть 3,2 ниже. Так что если вы попытаетесь выполнить выше 3.6, он будет отлично работать

2.first проверяет подключение к базе данных. Если база данных работает правильно, это была ошибка в программе ur или jar.

пожалуйста, проверьте эти два prioblems, если он также не работает, вы пытались IDE. Я использую netbeanside 6.9 version.here hibernate working fine.you не получает никаких ошибок из класса, а не founnd exception.

Я надеюсь, что это поможет больше

Ответ 20

Решение заключается в добавлении файла common-logging.x.x jar

Ответ 21

попробуйте добавить эту зависимость          org.apache.commons       Обще-Exec       1,3   

Ответ 22

Если все остальное не работает, как это было для меня, попробуйте поместить файл commons-logging-x.y.z.jar в свой каталог Tomcat lib. Это решило проблему! Кстати, я использую Tomcat 6.