获取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):

  1. 通过将公共日志loggingjar复制到本地文件夹中,将其添加到文件中。

注意:链接jar可能会导致服务器出现问题,也可能是它添加到构buildpath的原因,但不解决服务器启动问题。

所以不要把jar指向一个外部文件夹。

要么…

  1. 如果你真的不想在本地添加它,因为你在项目之间共享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上修复它,请尝试以下操作:

  1. 下载android-java-air-bridge.jar (目前下载button位于页面底部或直接链接 )
  2. 将下载的jar复制到你的[APPROOT] / app / libs目录下(或者用任何其他方式连接jar)
  3. import ***语句更改为空桥的语句。 例如, import javadz.beanutils.BeanUtils而不是import org.apache.commons.beanutils.BeanUtils;
  4. 清理并重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。