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 に答える