为什么AbstractApplicationContext为LogFactory抛出NoClassDefFoundError?

时间:2012-03-15 16:44:31

标签: java eclipse spring

我正在使用最新的STS,刚刚更新:\ 版本:2.9.0.RELEASE Build Id:201203011000

我已将spring-framework-3.1.1.RELEASE下载到目录中。 我创建了一个新的Spring项目。如果main()只包含一个System.out.println(),那么它没有问题。

我在我的项目中创建了一个lib / dir,并从Spring Framework导入了所有的lib。我还导入了commons-logging-1.1.1.jar

但如果我补充: ApplicationContext ctx = new ClassPathXmlApplicationContext(“beans.xml”);

当我运行应用程序时,它抛出:线程“main”中的异常java.lang.NoClassDefFoundError:org / apache / commons / logging / LogFactory

我从main()打印出类路径: 的System.out.println(System.getProperty( “java.class.path”)); 自从我添加它以后,我可以看到commons-logging-1.1.1.jar。

如果我在main()中创建:org.apache.commons.logging.LogFactory lf;它没有任何问题,代码完成也正常。

我应该检查什么?

1 个答案:

答案 0 :(得分:1)

好的,我的坏。

我没有将Spring jar导入到项目中,只是将它们添加为用户库。当我导入它们并明确地添加到类路径时,一切都很顺利。