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