我正在执行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
我也遇到了同样的问题,要修复,从下面的url下载jar文件
http://commons.apache.org/logging/download_logging.cgi
并复制到您的lib文件夹,将解决您的问题。
通过添加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
两个选项(至少):
注意:链接jar可能会导致服务器出现问题,也可能是因为它被添加到构建路径但没有解决服务器启动问题。
所以不要将jar指向外部文件夹。
要么...
如果您正在使用tc服务器实例,则需要将jar作为外部jar添加到服务器实例运行配置中。
转到运行,运行配置...,{您的tc服务器实例},然后运行类路径选项卡。
然后添加commons-logging jar。
我遇到了比你更多的麻烦。最后,我检查了拥有该类的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依赖项是否已被很好地导入。
http://commons.apache.org/logging/download_logging.cgi
使用此URL下载jar文件并将其包含在类路径中,问题将得到解决
只需检查是否已将commons-logging.jar添加到您的libs和类路径中。我遇到了同样的问题,那是因为这个原因。 dhammikas-
我通常将类路径分配给变量,然后验证它。我写了一个小的ruby脚本,我将其包含在我的启动脚本validates the classpath before launching java中。在JVM启动之前验证类路径为我节省了大量时间来解决这些类型的问题。
嘿,我正在关注tutorialpoint.com上的教程。完成后添加步骤2 - 安装Apache Common Logging API:您必须从此步骤下载的文件中将外部jar库导入到项目中。对我来说,文件名是“commons-logging-1.1.1”。
如果你在Android上运行它,那么请注意,显然java.beans
包在Android上并不完整。要尝试在Android上修复它,请尝试以下操作:
import ***
语句更改为air-bridge的语句。例如import javadz.beanutils.BeanUtils
而不是import org.apache.commons.beanutils.BeanUtils;
我道歉,因为我意识到这并没有完全回答这个问题,尽管在搜索android生成的NoClassDefFoundError: Failed resolution of: beanUtils
错误时,这个SO页面出现了很多。
罐子出现时我得到了同样的错误。没有解决方案。什么工作是从文件系统(从.m2目录)删除jar然后清理maven项目。
如果您使用maven来管理依赖项,请在pom.xml中添加以下行:
<dependency>
<groupId>commons-logging</groupId>
<artifactId>commons-logging</artifactId>
<version>1.1.1</version>
</dependency>
在我的情况下,我在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
属性已丢失。
检查罐子是否正确导入。我使用构建路径导入它们。但它无法识别WAR / lib文件夹中的jar。后来,我将同一个jar复制到war / lib文件夹。它现在工作正常。您可以刷新/清理项目。
朋友你好,如果你在hibernate代码中找到任何没有类的异常,那就是jar文件的问题。主要有两个问题 我的意思是说你的工作旧版本的休眠可能是3.2以下。所以,如果你尝试超过3.6,它将工作正常
2.first检查数据库连接。如果数据库正常工作,他们在你的程序或jar文件中是一个错误。
请检查这两个prioblems,如果它也没有工作,你尝试IDE。我正在使用netbeanside 6.9版本。所以hibernate工作正常。你不会从类没有得到任何错误founnd异常..
我希望这个更有帮助
解决方法是添加common-logging.x.x jar文件
尝试添加此依赖项org.apache.commons commons-exec 1.3
如果所有其他方法都失败了,就像我一样,尝试将commons-logging-x.y.z.jar放在Tomcat lib目录中。它解决了这个问题!顺便说一下,我正在使用Tomcat 6。
您只需下载commons-logging-1.1.2.jar然后将此文件复制到libs
最后,它的工作原理。
我遇到了同样的问题,并通过将commons-logging.jar
添加到类路径来解决它。
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>
添加commons-logging.jar或commons-logging-1.1.jar将解决这个问题......
我已经包含了common-logging1.1.1.jar和...
你确定拼写了JAR文件的名称吗?我认为应该是commons-logging-1.1.1.jar
(请注意名称中的额外-
)。还要检查目录名是否正确。
NoClassDefFoundError
总是意味着找不到类,所以很可能你的类路径不正确。
将范围设置为编译为我做了
<dependency>
<groupId>commons-logging</groupId>
<artifactId>commons-logging</artifactId>
<version>1.2</version>
<scope>compile</scope>
</dependency>
尝试完全清理应用程序的目标/部署目录,以摆脱任何过时的库jar。进行全新构建并检查commons-logging.jar实际上是否放在正确的lib文件夹中。在为应用程序构建库时可能不包含它。