获取java.lang.ClassNotFoundException:org.apache.commons.logging.LogFactoryexception
我正在执行简单的spring的dependency injection程序和得到这个exception。 我已经包含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来pipe理依赖项,请在您的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
添加到类path来解决它。
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>
设置范围编译为我做了
<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
总是意味着找不到一个类,所以很可能你的类path是不正确的。
问题通过添加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
两个选项(至less):
- 通过将公共日志loggingjar复制到本地文件夹中,将其添加到文件中。
注意:链接jar可能会导致服务器出现问题,也可能是它添加到构buildpath的原因,但不解决服务器启动问题。
所以不要把jar指向一个外部文件夹。
要么…
- 如果你真的不想在本地添加它,因为你在项目之间共享jar,那么…
如果您使用的是tc服务器实例,则需要将该jar作为外部jar添加到服务器实例运行configuration中。
运行configuration…,{你的tc服务器实例},然后运行Class Path选项卡。
然后添加commons-logging jar。
添加commons-logging.jar或commons-logging-1.1.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依赖关系是很好的导入。
尝试做一个完整的干净的应用程序的目标/部署目录摆脱任何陈旧的图书馆jar子。 做一个新的构build,并检查commons-logging.jar实际上被放置在正确的lib文件夹中。 当您为应用程序构build库时,可能不会包含它。
http://commons.apache.org/logging/download_logging.cgi
使用这个URL下载jar文件并将它们包含在你的类path中,问题就解决了
我通常将类path分配给一个variables,然后validation它。 我已经写了一个小的ruby脚本,我将其包含在启动脚本中, 在启动java之前validation类path 。 在JVM启动之前validation类path为我节省了很多时间来解决这些types的问题。
嗨,我正在关注tutorialpoint.com上的教程。 完成后添加步骤2 – 安装Apache通用日志loggingAPI:您必须从此步骤下载的文件中将外部jar库导入到项目中。 对我来说,文件名是“ commons-logging-1.1.1 ”。
如果你在Android上运行这个,那么请注意,显然java.beans
包在Android上是不完整的。 要尝试在Android上修复它,请尝试以下操作:
- 下载android-java-air-bridge.jar (目前下载button位于页面底部或直接链接 )
- 将下载的jar复制到你的[APPROOT] / app / libs目录下(或者用任何其他方式连接jar)
- 将
import ***
语句更改为空桥的语句。 例如,import javadz.beanutils.BeanUtils
而不是import org.apache.commons.beanutils.BeanUtils;
- 清理并重build项目
来源1 , 来源2
我道歉,因为我意识到这不是完全回答这个问题,虽然这个SO页面出现了很多,当searchandroid生成的NoClassDefFoundError: Failed resolution of: beanUtils
错误。
只要检查commons-logging.jar是否已经添加到你的库和类path中。我有同样的问题,那是因为这个。 dhammikas-
检查jar子是否正确导入。 我使用构buildpath导入它们。 但是它不能识别WAR / lib文件夹中的jar。 后来,我把同样的jar复制到war / lib文件夹 。 现在工作正常。 你可以刷新/清理你的项目。
你好朋友,如果你得到任何没有类的发现exception,在Hibernate代码这是jar文件的问题。这里主要有两个问题
我的意思是说,你的工作旧版本的hibernate可能是3.2波纹。所以,如果你尝试超过3.6,它会正常工作
2.首先检查数据库连接,如果数据库正常工作,他们是在你的程序或jar文件中的错误。
请检查这两个prioblems,如果它也不工作,你尝试到IDE。 我正在使用netbeanside 6.9版本。这里的hibernate工作fine.you没有得到任何错误从类不寻找exception..
我希望这个帮助更多
解决方法是添加common-logging.xx jar文件
尝试添加这个依赖org.apache.commons commons-exec 1.3
如果所有其他操作都失败了,请尝试将commons-logging-xyzjar放在Tomcat的lib目录下。 它解决了这个问题! 顺便说一下,我正在使用Tomcat 6。