1

我正在尝试初始化一个使用 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.<init>(AbstractApplicationContext.java:164)
at org.springframework.context.support.AbstractRefreshableApplicationContext.<init>(AbstractRefreshableApplicationContext.java:90)
at org.springframework.context.support.AbstractRefreshableConfigApplicationContext.<init>(AbstractRefreshableConfigApplicationContext.java:59)
at org.springframework.context.support.AbstractXmlApplicationContext.<init>(AbstractXmlApplicationContext.java:61)
at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:136)
at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(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 构建路径中?

4

2 回答 2

2

在这种特殊情况下,您应该在客户端类路径中包含 commons-logging-1.1.1.jar。Spring-Core 依赖于它。

一般来说,我建议您使用Maven或类似工具来管理您的依赖项。

于 2012-12-24T12:55:09.513 回答
0

听起来您缺少非常重要的 spring-web jar 文件。将此添加到您的 pom 文件以解决此问题。

     <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-web</artifactId>
        <version>3.2.6.RELEASE</version>
    </dependency>
于 2017-05-10T21:24:20.420 回答