我正在执行简单的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

当前回答

您只需下载commons-logging-1.1.2.jar,然后将该文件复制到lib中

终于,它起作用了。

其他回答

至少有两种选择:

将common -logging jar文件复制到本地文件夹中,添加到您的文件中。

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

所以不要把罐子指向外部文件夹。

还是……

如果您真的不想在本地添加它,因为您在项目之间共享jar,那么……

如果您正在使用tc服务器实例,那么您需要将jar作为外部jar添加到服务器实例运行配置中。

去运行as,运行配置…,{你的tc服务器实例},然后是类路径选项卡。

然后添加common -logging jar。

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

使用这个url下载jar文件,并将它们包含在你的类路径中,问题将得到解决

如果所有这些都失败了,就像我一样,尝试将commons-logging-x.y.z.jar放到Tomcat lib目录中。问题解决了!顺便说一下,我使用的是Tomcat 6。

尝试完全清理应用程序的目标/部署目录,以摆脱任何陈旧的库jar。重新构建并检查common -logging.jar实际上是否被放置在正确的lib文件夹中。在为应用程序构建库时,可能不包括它。

common -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>