web-dev-qa-db-ja.com

Java.lang.ClassNotFoundExceptionを取得しています:org.Apache.commons.logging.LogFactory例外

私は春の単純な依存性注入プログラムを実行していて、この例外を受けています。私はすでに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
170
user188102

私はまた、修正するために、以下のURLからjarファイルをダウンロードするために、同じ問題に直面しています

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

そしてあなたのlibフォルダにコピーしてください、あなたの問題は解決します。

115
Manikandan

依存関係の管理にMavenを使用している場合は、pom.xmlに次の行を追加してください。

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

あなたは commons-logging-1.1.2.jar をダウンロードしてlibsにコピーするだけです

最後に、それはうまくいきます。

37
sonida

私は同じ問題を抱えていて、commons-logging.jarをクラスパスに追加することでそれを解決しました。

18
stacky

commons-logging-1.1.1.jarまたはjcl-over-slf4j-1.7.6.jar

あなたがmavenを使っているなら、以下のコードを使ってください。

<dependency>
    <groupId>org.slf4j</groupId>
    <artifactId>jcl-over-slf4j</artifactId>
    <version>${slf4j.version}</version>
</dependency>
15

Commons-logging.jarまたはcommons-logging-1.1.jarを追加すると、これを解決できます。

8
APal

スコープをコンパイルするように設定して私のためにそれをやった

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

私はすでにcommon-logging1.1.1.jarを含めています...

JARファイルの名前を正しく入力してもよろしいですか。おそらくcommons-logging-1.1.1.jarであるべきだと思います(名前の中の余分な-に注意してください)。ディレクトリ名が正しいかどうかも確認してください。

NoClassDefFoundErrorは常にクラスが見つからないことを意味するため、クラスパスは正しくありません。

5
Jesper

古いライブラリのjarファイルを削除するには、アプリのtarget/deploymentディレクトリを完全に削除してみてください。新しくビルドして、commons-logging.jarが実際に正しいlibフォルダーに配置されていることを確認してください。アプリケーション用のライブラリを構築しているときは含まれないかもしれません。

4
emills

Commons-logging.jarを追加して解決した問題

インプファイルは、

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
Tush

私はあなたと同じ悩みを抱きました。最後に、クラスを所有しているApacheのバージョンを確認しました。バージョン1.0.4にクラスがあることがわかりました。

1.1.Xまたは1.2.Xの代わりにバージョン1.0.4を使用してみてください。

私の依存関係:

    <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の依存関係がうまくインポートされていることも再確認してください。

3
歌永_

2つの選択肢(少なくとも):

  1. Commons-logging jarをローカルフォルダにコピーしてファイルに追加します。

注:jarをリンクすると、サーバーに問題が生じる可能性があり、それがビルドパスに追加されてもサーバーの起動の問題が解決されない場合もあります。

そのため、jarを外部フォルダに向けないでください。

または...

  1. プロジェクト間でjarファイルを共有しているためにローカルに追加したくない場合は、次のようにします。

Tcサーバーインスタンスを使用している場合は、サーバーインスタンスの実行構成にjarを外部jarとして追加する必要があります。

[実行]、[設定の実行...]、[自分のtcサーバーインスタンス]、[クラスパス]タブの順にクリックします。

それからcommons-logging jarを追加します。

3
devaaron

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

このURLを使用してjarファイルをダウンロードし、それらをクラスパスに含めると、問題は解決します

1
rash

あなたがAndroid上でこれを実行しているならば、どうやらJava.beansパッケージはAndroid上で完成していないことに注意してください。 Androidで修正しようとするには、以下を試してください。

  1. ダウンロード Android-Java-air-bridge.jar (現在、ダウンロードボタンはページの下部にあるか、または ここに直接リンク
  2. ダウンロードしたjarファイルを自分の[APPROOT]/app/libsディレクトリにコピーします(または他の方法でjarファイルをリンクします)。
  3. import ***ステートメントをair-bridgeのそれに変更します。例:import javadz.beanutils.BeanUtilsの代わりにimport org.Apache.commons.beanutils.BeanUtils;
  4. プロジェクトを整理して再構築する

ソース1ソース2

このSOページはAndroidで生成されたNoClassDefFoundError: Failed resolution of: beanUtilsエラーを検索する際に頻繁に表示されますが、私はこれが正確に質問に答えているわけではないことを理解して謝罪します。

0
Voy

Commons-logging.jarがライブラリとクラスパスに追加されているかどうかを確認してください。同じ問題が発生しました。ダンミカス

0
dhammikas

通常、クラスパスを変数に割り当ててから検証します。 Javaを起動する前にクラスパスを検証する 起動スクリプトに含める小さなRubyスクリプトを書きました 。 JVMが起動する前にクラスパスを検証することで、この種の問題のトラブルシューティングに多くの時間を節約できました。

0
brianegge

私はEclipse IDEで同じ問題を抱えています、私の解決策は以下のとおりです。右クリック>プロジェクト>プロパティ

enter image description here

Maven をクリックして、jar Active Maven Project と書きます。

enter image description here

最後に、適用して閉じる

0
Yuliem Alavez

私の場合、EclipseでTomcatアプリをテストしていて、このエラーが発生しました。私は.classpathファイルをチェックすることによってそれを解決し、このエントリを修正しました:

<classpathentry kind="con" path="org.Eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER">
    <attributes>
        <attribute name="maven.pomderived" value="true"/>
        <attribute name="org.Eclipse.jst.component.dependency" value="/WEB-INF/lib"/>
    </attributes>
</classpathentry>

属性org.Eclipse.jst.component.dependencyがありませんでした。

0
paul

ちょっと私はtutorialpoint.comのチュートリアルに従っていました。完了後に追加ステップ2 - Apache Common Logging APIのインストール:外部jarのインポートが必要ですこのステップでダウンロードしたファイルからプロジェクトへのライブラリ。私にとっては、ファイル名は "commons-logging-1.1.1"でした。

0
The Third

Jarが存在している間、私は同じエラーを受けていました。解決策はありませんでした。うまくいったのは(.m2ディレクトリから)ファイルシステムからjarファイルを削除してからmavenプロジェクトをきれいにすることでした。

0
Anmol Gupta