72

フィード ユーティリティの実行中に、次のようなエラーが発生します。画像「 logo.png 」を読み込もうとしています。slf4jjar ファイルは、ランタイム クラスパスでも使用できます。しかし、それでもこのエラーが発生します。

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)
4

24 に答える 24

27

クラスパスにさまざまな SLF4J 実装の .jar ファイルの 1 つと、インターフェイスの .jar ファイルを指定する必要があります。これは文書化されています。

于 2012-10-17T04:00:58.950 に答える
12

slf4j-1.7.5.zip をダウンロード

さまざまなjarファイルを保持しています。

zip を解凍した後、-> Integration フォルダーに移動し、次の jar ファイルを含めます。

  1. slf4j-api-2.0.99
  2. slf4j-シンプル-1.6.99
  3. junit-3.8.1
于 2013-11-21T07:28:55.463 に答える
8

プロジェクト プロパティを右クリックし、以下の手順に従います [プロジェクト プロパティ] --> [デプロイメント アセンブリ]、[Java ビルド パス エントリ] -> [Maven 依存関係] の追加

于 2015-09-17T08:51:03.973 に答える
4

私は同様の問題に直面していましたが、以下の行で問題が修正されました。

    <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>slf4j-api</artifactId>
    </dependency>

編集:Spring Boot を使用していて、依存関係のバージョンが spring-boot-starter-parent からプルされていることに気付きました。

于 2018-08-25T15:52:47.410 に答える
2

間違いなく機能する完璧なソリューションは、これらのパッケージをアプリに追加すること
です
。 /log4j/1.2.16/

追加した後、単に無視できる次の警告が表示される場合があります。

SLF4J: SLF4J プロバイダーが見つかりませんでした。SLF4J: 無操作 (NOP) ロガー実装へのデフォルト設定 SLF4J: 詳細については、http: //www.slf4j.org/codes.html#noProvidersを参照してください。

クレジット: https://www.javacodegeeks.com/2018/02/fix-exception-thread-main-java-lang-noclassdeffounderror-org-slf4j-loggerfactory-java.html

于 2020-06-09T19:20:25.050 に答える
1

クラス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 中央クラス名検索に移動し、正確なクラス名を検索して、欠落している正確な依存関係を特定します。

于 2016-05-29T08:36:39.493 に答える
1

このエラーは、参照されている jar がプロジェクトの順序とエクスポート タブでチェックされていないために発生します。

[プロジェクト] -> [ALT+Enter] -> [Java ビルド パス] -> [注文とエクスポート] -> 必要な jar ファイルをプロジェクトにチェックインします。

最後に、プロジェクトをクリーンアップして実行します。正常に実行されます。

于 2014-08-05T05:08:19.750 に答える
0

この jar slf4j-jdk14 の互換バージョンを取得し、依存関係として追加します。これで問題は解決しました。

于 2017-01-09T10:54:07.587 に答える
0

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

チュートリアルのすべてのコードが利用可能です

于 2014-09-09T21:00:04.893 に答える
0

slf4j-api ライブラリと slf4j-log4j12-1.7.25 jar が必要です。この jar をプロジェクト -> WEBINF -> lib フォルダーと tomcat サーバーの lib フォルダーにコピーして、正常に実行します。

于 2018-01-16T14:49:03.830 に答える
-3

LoggerFactory クラスは、エラー メッセージに従って msising です。

java.lang.NoClassDefFoundError: org.slf4j.LoggerFactory

どうやら、slf4j.jar何らかの理由でファイルが読み込まれていないようです。

于 2012-10-17T04:12:27.623 に答える