java / spring-在org.springframework.context.support.AbstractApplicationContext中获取NoClassDefFoundError
我正在尝试初始化我使用过Spring的RMI客户端。
现在,应用程序的RMI上下文存储在file = rmiClientAppContext.xml中
使用上述文件的相关代码如下 –
//RMI Client Application Context is started... ApplicationContext context = new ClassPathXmlApplicationContext("rmiClientAppContext.xml");
但是,当我尝试运行程序时,这就是我得到的错误 –
Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/commons/logging/LogFactory at org.springframework.context.support.AbstractApplicationContext.(AbstractApplicationContext.java:164) at org.springframework.context.support.AbstractRefreshableApplicationContext.(AbstractRefreshableApplicationContext.java:90) at org.springframework.context.support.AbstractRefreshableConfigApplicationContext.(AbstractRefreshableConfigApplicationContext.java:59) at org.springframework.context.support.AbstractXmlApplicationContext.(AbstractXmlApplicationContext.java:61) at org.springframework.context.support.ClassPathXmlApplicationContext.(ClassPathXmlApplicationContext.java:136) at org.springframework.context.support.ClassPathXmlApplicationContext.(ClassPathXmlApplicationContext.java:83)
在进一步调查上面的第一行错误信息时,我发现了这一点
"164 is not a valid line number in org.springframework.context.support.AbstractApplicationContext"
我在这做错了什么? 我正在使用Spring v3.1.3如何解决上述错误? 另外,我必须为RMI客户端准确包含哪些JAR? 是否有任何特定的顺序可以将这些JAR添加到Eclipse中的Java构建路径中?
在这种特殊情况下,您应该在客户端类路径中包含commons-logging-1.1.1.jar。 Spring-Core依赖于它。
一般情况下,我建议您使用Maven或类似工具来管理您的依赖项。
听起来你错过了非常重要的spring-web jar文件。 将其添加到您的pom文件以解决此问题。
org.springframework spring-web 3.2.6.RELEASE