2012-12-24 68 views
1

我想初始化一個我已經使用過Spring的RMI客戶端。現在java/spring-在org.springframework.context.support.AbstractApplicationContext獲取NoClassDefFoundError

,應用程序的RMI上下文存儲在文件= rmiClientAppContext.xml

使用上述文件中的相關代碼給出below--

//RMI Client Application Context is started... 
    ApplicationContext context = new ClassPathXmlApplicationContext("rmiClientAppContext.xml"); 

然而,當我嘗試運行程序,這是我getting--

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構建路徑中有沒有特定的順序?

+0

你可以請包括你的主類在帖子中?什麼似乎使問題是與Apache公共日誌記錄相關的缺少jar文件。你想在你的主類中實例化一個記錄器嗎?你在context.xml中添加了相應的bean嗎? – ye9ane

回答

2

在這種特殊情況下,您應該在客戶端類路徑中包含commons-logging-1.1.1.jar。 Spring-Core取決於它。

一般來說,我建議你使用Maven或類似的工具來管理你的依賴關係。

0

聽起來像你缺少非常重要的spring-web jar文件。將此添加到您的pom文件來解決此問題。

 <dependency> 
     <groupId>org.springframework</groupId> 
     <artifactId>spring-web</artifactId> 
     <version>3.2.6.RELEASE</version> 
    </dependency> 
相關問題