2013-03-19 111 views
0

我有兩個類ClientLogic1和WelcomeBean1如下獲得ClassCastException異常錯誤

public class ClientLogic1 { 

    public static void main(String[] args) 
    { 
     Resource res = new ClassPathResource("spconfig.xml"); 
     BeanFactory factory = new XmlBeanFactory(res); 
     Object o = factory.getBean("id1"); 
     WelcomeBean1 wb = (WelcomeBean1)o; 
     wb.show(); 

    } 

    } 

二等

public class WelcomeBean1 { 

     private Map data; 
     public void setData(Map data) { 
      this.data = data; 
     } 

     public void show() 
     { 
      Set s=data.entrySet(); 
      Iterator it = s.iterator(); 
      while(it.hasNext()) 
      { 
       Map.Entry me = (Map.Entry)it.next(); 
       System.out.println(me.getKey()+ " - "+me.getValue()); 
      } 
     } 

    } 

我有一個XML文件作爲

<beans> 
    <bean id="id1" class="WelcomeBean1"> 
    <property name="data"> 
    <map> 
    <entry key="k1"> 
     <vlaue>1323</value> 
    </entry> 
    <entry key="k2"> 
     <value>feed</value> 
    </entry> 
    </map> 
    </property> 
    </bean> 
</bean> 

我已經給出了正確的道路。就在我運行這個程序時,我收到以下錯誤

Exception in thread "main" java.lang.ClassCastException: WelcomeBean cannot be 
    cast to mapexmpl.WelcomeBean1 at mapexmpl.ClientLogic1.main(ClientLogic1.java:15) 

我不知道我要去的地方wrong.Can有人幫我PLZ ...

+0

有任何WelcomeBean – PSR 2013-03-19 05:28:57

+0

我覺得這是一個構建的問題,清潔和重新生成項目 – 2013-03-19 05:32:10

+0

@ PSR-no我檢查了它,但我沒有在代碼中的任何地方使用WelcomeBean – Ezhil 2013-03-19 05:37:10

回答

0

其實跟它的WelcomeBean不能..............但是你的代碼全部顯示爲WelcomeBean1。

您使用了WelcomeBean some where。請檢查一次。

我想在你使用WelComeBean之前,然後將它改爲WelComeBean1.Please建立乾淨的安吉安。

+0

@ user1847395你仍然收到錯誤 – PSR 2013-03-19 05:43:06

+0

是的,我仍然收到錯誤,我也清理了項目..是的,我把班級名稱從WelcomeBean更改爲WelcomeBean1 – Ezhil 2013-03-19 05:45:18

+0

@ user1847395然後做一件事。將所有WelComeBean1重新命名爲Test.Now,我們可以確定問題出在哪裏 – PSR 2013-03-19 05:46:04

0
  1. 確保spring配置文件中沒有重複的bean id。例如,你可能有豆WelcomeBean與ID ID1

  2. 改變完整的包名<bean id="id1" class="mapexmpl.WelcomeBean1">

+0

我改變了它,但它仍然顯示相同的錯誤 – Ezhil 2013-03-19 05:38:49