Ответ 1
Добавьте реализацию SLF4J (поскольку у вас есть только ее API):
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
<version>1.7.26</version>
</dependency>
Я получаю ошибку, как указано ниже, при запуске утилиты feed. Я пытаюсь загрузить изображение " logo.png". Файл jar slf4j
также доступен в пути пути выполнения. Но все же я получаю эту ошибку.
Oct 16, 2012 7:34:11 PM com.ibm.commerce.foundation.dataload.FeedRetriever invokeDataLoad
SEVERE: An error occurred while performing data load.
Throwable occurred: com.ibm.commerce.foundation.dataload.exception.DataLoadException:
An error occurred while executing the data load.
java.lang.NoClassDefFoundError: org.slf4j.LoggerFactory
at com.ibm.commerce.foundation.dataload.DataLoaderMain.execute(DataLoaderMain.java:664)
at com.ibm.commerce.content.commands.DataLoadInvoker.execute(DataLoadInvoker.java:101)
at com.ibm.commerce.foundation.dataload.FeedRetriever.invokeDataLoad(FeedRetriever.java:244)
at com.ibm.commerce.foundation.dataload.FeedRetriever.execute(FeedRetriever.java:172)
at com.ibm.commerce.foundation.dataload.FeedRetriever.main(FeedRetriever.java:321)
Caused by: java.lang.RuntimeException: java.lang.NoClassDefFoundError: org.slf4j.LoggerFactory
at com.ibm.commerce.foundation.dataload.DataLoaderMain.execute(DataLoaderMain.java:488)
... 4 more
Caused by: java.lang.NoClassDefFoundError: org.slf4j.LoggerFactory
at org.apache.wink.client.ClientConfig.<clinit>(ClientConfig.java:52)
at java.lang.J9VMInternals.initializeImpl(Native Method)
at java.lang.J9VMInternals.initialize(J9VMInternals.java:200)
at java.lang.J9VMInternals.initialize(J9VMInternals.java:167)
at com.ibm.commerce.foundation.dataload.feedreader.AtomReader.getFeed(AtomReader.java:104)
at com.ibm.commerce.foundation.dataload.feedreader.AtomReader.getEntries(AtomReader.java:147)
at com.ibm.commerce.foundation.dataload.feedreader.AtomReader.getEntries(AtomReader.java:1)
at com.ibm.commerce.foundation.dataload.feedreader.BaseFeedReader.init(BaseFeedReader.java:252)
at com.ibm.commerce.foundation.dataload.AbstractBusinessObjectLoader.initializeDataReaders(AbstractBusinessObjectLoader.java:1344)
at com.ibm.commerce.foundation.dataload.AbstractBusinessObjectLoader.init(AbstractBusinessObjectLoader.java:369)
at com.ibm.commerce.foundation.dataload.BusinessObjectLoader.init(BusinessObjectLoader.java:65)
at com.ibm.commerce.foundation.dataload.DataLoaderMain.execute(DataLoaderMain.java:431)
... 4 more
Caused by: java.lang.ClassNotFoundException: org.slf4j.LoggerFactory
at java.lang.ClassNotFoundException.<init>(ClassNotFoundException.java:76)
at java.net.URLClassLoader.findClass(URLClassLoader.java:396)
at java.lang.ClassLoader.loadClass(ClassLoader.java:660)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:358)
at java.lang.ClassLoader.loadClass(ClassLoader.java:626)
... 16 more
Oct 16, 2012 7:34:11 PM com.ibm.commerce.foundation.dataload.FeedRetriever main
SEVERE: An error occurred while performing data load.
Throwable occurred: com.ibm.commerce.foundation.dataload.exception.DataLoadException: An error has occurred. If this problem persists, contact product support.
at com.ibm.commerce.foundation.dataload.FeedRetriever.invokeDataLoad(FeedRetriever.java:247)
at com.ibm.commerce.foundation.dataload.FeedRetriever.execute(FeedRetriever.java:172)
at com.ibm.commerce.foundation.dataload.FeedRetriever.main(FeedRetriever.java:321)
Добавьте реализацию SLF4J (поскольку у вас есть только ее API):
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
<version>1.7.26</version>
</dependency>
Вы должны предоставить один из различных файлов .jar реализации SLF4J в пути к классам, а также файл .jar интерфейса. Это документировано.
В нем хранятся разные файлы jar.
Перейдите в → Папка интеграции после извлечения zip и включите следующие файлы jar
Щелкните правой кнопкой мыши по свойствам проекта и следуйте нижеуказанным шагам "Свойства проекта" → "Сборка развертывания", добавив "Записи пути сборки Java → Зависимости Maven
У меня также была аналогичная проблема. У меня был проект maven и я тестировал rabbitmq. Во-первых, это показало мне аналогичную ошибку, после чего я добавил все зависимости SLF4J в проекте maven, а затем с ошибкой изменился на "Maven SLF4J: путь класса содержит несколько привязок SLF4J". Ниже приведен полный список зависимостей от pom.xlm
<dependencies>
<dependency>
<groupId>com.rabbitmq</groupId>
<artifactId>amqp-client</artifactId>
<version>4.0.0</version>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
<version>3.0</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-simple</artifactId>
<version>1.7.21</version>
<scope>compile</scope>
</dependency>
</dependencies>
Наконец-то это сработало.
Я столкнулся с подобной проблемой, и это решило проблему для меня.
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
</dependency>
Эта ошибка возникает из-за того, что указанные баны не отмечены на нашем заказе проекта и вкладке экспорта.
Выберите Project → ALT + Enter- > Java Build Path → Order and Export- > проверьте необходимые файлы jar в вашем проекте.
Наконец, очистите проект и запустите. Он будет успешно работать.
Когда мы используем api jar slf4j, нам нужна любая реализация logger, такая как log4j. В моей системе у нас есть комплект, и он отлично работает.
1. slf4j-api-1.5.6.jar
2. slf4j-log4j12-1.5.6.jar
3. **log4j-1.2.15.jar**
Чтобы быть более конкретным, если вам не хватает класса com.vaadin.external.org.slf4j.LoggerFactory, добавьте следующую зависимость.
<dependency>
<groupId>com.vaadin.external.slf4j</groupId>
<artifactId>vaadin-slf4j-jdk14</artifactId>
<version>1.6.1</version>
</dependency>
Если вам не хватает других org.slf4j.LoggerFactory, просто перейдите в Поиск имени центрального класса Maven и найдите точное имя класса, чтобы определить, какую точную зависимость вам не хватает.
Вы можете использовать ниже зависимость
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.17</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>1.7.7</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
<version>1.7.7</version>
</dependency>
Добавьте следующие jar файлы в путь к классам или в папку lib
NoClassDefFoundError означает, что netbeans или сервер не могут найти файл.
Я предполагаю, что он не может найти slf4j.jar см. здесь
использовать maven, он загрузит все необходимые файлы jar для вас.
в этом случае вам понадобятся следующие файлы jar:
SLF4J-log4j12-1.6.1.jar SLF4J-апи-1.6.1.jar
Эти банки также будут зависеть от версии cassandra, которую вы используете. Существуют зависимости от версии cassandra, версии jar и версии jdk, которые вы используете.
Вы можете использовать: jdk1.6 с: cassandra 1.1.12 и вышеупомянутые банки.
убедитесь, что ваш MANIFEST.MF содержит имя ссылочной баночки в моем приложении slf4j-api- *. банк.
Вам нужна библиотека slf4j-api. В большинстве случаев требуется только slf4j-api и slf4j-jkd14:
Здесь вы можете скачать версию 1.7.2:
slf4j-api-1.7.2.jar
slf4j-jkd14-1.7.2jar
Если вам нужен пример, чтобы увидеть, как они используются, ссылается на этот учебник: http://www.ibm.com/developerworks/java/library/j-hangman-app/index.html
Все код для учебника доступен
получить совместимую версию этого jar slf4j-jdk14 и добавить его как зависимость. это решило проблему для меня.
Вам нужна библиотека slf4j-api и jar slf4j-log4j12-1.7.25. Скопируйте эти файлы в вашу папку project-> WEBINF-> lib и в папку lib сервера tomcat для успешного выполнения.
Когда вы копируете зависимость из репозитория maven:
<scope>test</scope>
Попробуйте удалить его из зависимостей в pom.xml следующим образом.
<!-- https://mvnrepository.com/artifact/ch.qos.logback/logback-classic -->
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-classic</artifactId>
<version>1.2.3</version>
</dependency>
Это работает для меня. Я надеюсь, что это будет полезно для кого-то еще.
это работало для меня/свойства /maven снимите флажок разрешать зависимости от проектов Workspace.
Класс LoggerFactory исчезает в соответствии с сообщением об ошибке:
java.lang.NoClassDefFoundError: org.slf4j.LoggerFactory
Судя по всему, файл slf4j.jar
по какой-то причине не загружается.