私は春の単純な依存性注入プログラムを実行していて、この例外を受けています。私はすでに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
私はまた、修正するために、以下のURLからjarファイルをダウンロードするために、同じ問題に直面しています
http://commons.Apache.org/logging/download_logging.cgi
そしてあなたのlibフォルダにコピーしてください、あなたの問題は解決します。
依存関係の管理にMavenを使用している場合は、pom.xmlに次の行を追加してください。
<dependency>
<groupId>commons-logging</groupId>
<artifactId>commons-logging</artifactId>
<version>1.1.1</version>
</dependency>
あなたは commons-logging-1.1.2.jar をダウンロードしてlibsにコピーするだけです
最後に、それはうまくいきます。
私は同じ問題を抱えていて、commons-logging.jar
をクラスパスに追加することでそれを解決しました。
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>
Commons-logging.jarまたはcommons-logging-1.1.jarを追加すると、これを解決できます。
スコープをコンパイルするように設定して私のためにそれをやった
<dependency>
<groupId>commons-logging</groupId>
<artifactId>commons-logging</artifactId>
<version>1.2</version>
<scope>compile</scope>
</dependency>
私はすでにcommon-logging1.1.1.jarを含めています...
JARファイルの名前を正しく入力してもよろしいですか。おそらくcommons-logging-1.1.1.jar
であるべきだと思います(名前の中の余分な-
に注意してください)。ディレクトリ名が正しいかどうかも確認してください。
NoClassDefFoundError
は常にクラスが見つからないことを意味するため、クラスパスは正しくありません。
古いライブラリのjarファイルを削除するには、アプリのtarget/deploymentディレクトリを完全に削除してみてください。新しくビルドして、commons-logging.jarが実際に正しいlibフォルダーに配置されていることを確認してください。アプリケーション用のライブラリを構築しているときは含まれないかもしれません。
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
私はあなたと同じ悩みを抱きました。最後に、クラスを所有している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の依存関係がうまくインポートされていることも再確認してください。
2つの選択肢(少なくとも):
注:jarをリンクすると、サーバーに問題が生じる可能性があり、それがビルドパスに追加されてもサーバーの起動の問題が解決されない場合もあります。
そのため、jarを外部フォルダに向けないでください。
または...
Tcサーバーインスタンスを使用している場合は、サーバーインスタンスの実行構成にjarを外部jarとして追加する必要があります。
[実行]、[設定の実行...]、[自分のtcサーバーインスタンス]、[クラスパス]タブの順にクリックします。
それからcommons-logging jarを追加します。
http://commons.Apache.org/logging/download_logging.cgi
このURLを使用してjarファイルをダウンロードし、それらをクラスパスに含めると、問題は解決します
あなたがAndroid上でこれを実行しているならば、どうやらJava.beans
パッケージはAndroid上で完成していないことに注意してください。 Androidで修正しようとするには、以下を試してください。
import ***
ステートメントをair-bridgeのそれに変更します。例:import javadz.beanutils.BeanUtils
の代わりにimport org.Apache.commons.beanutils.BeanUtils;
このSOページはAndroidで生成されたNoClassDefFoundError: Failed resolution of: beanUtils
エラーを検索する際に頻繁に表示されますが、私はこれが正確に質問に答えているわけではないことを理解して謝罪します。
Commons-logging.jarがライブラリとクラスパスに追加されているかどうかを確認してください。同じ問題が発生しました。ダンミカス
通常、クラスパスを変数に割り当ててから検証します。 Javaを起動する前にクラスパスを検証する 起動スクリプトに含める小さなRubyスクリプトを書きました 。 JVMが起動する前にクラスパスを検証することで、この種の問題のトラブルシューティングに多くの時間を節約できました。
私の場合、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
がありませんでした。
ちょっと私はtutorialpoint.comのチュートリアルに従っていました。完了後に追加ステップ2 - Apache Common Logging APIのインストール:外部jarのインポートが必要ですこのステップでダウンロードしたファイルからプロジェクトへのライブラリ。私にとっては、ファイル名は "commons-logging-1.1.1"でした。
Jarが存在している間、私は同じエラーを受けていました。解決策はありませんでした。うまくいったのは(.m2ディレクトリから)ファイルシステムからjarファイルを削除してからmavenプロジェクトをきれいにすることでした。