在使用Spring相關產品時,你可能會碰到下面這種異常:
          Exception sending context initialized event to listener instance of class org.springframework.web.context.ContextLoaderListener
          這是異常的第一行,按以往的經驗,第一行應該就是問題所在,但是實際上,從這行來看你根本不知道錯在哪里。

          后面接下來的是:
          Error creating bean with name 'basicProcessingFilter'
          Cannot resolve reference to bean 'authenticationManager'
          while setting bean property 'authenticationManager';

          nested exception is Error creating bean with name 'authenticationManager'
          Cannot resolve reference to bean 'casAuthenticationProvider'
          while setting bean property 'providers' with key [0];

          nested exception is : Error creating bean with name 'casAuthenticationProvider'
          Cannot resolve reference to bean 'statelessTicketCache'
          while setting bean property 'statelessTicketCache';

          nested exception is: Error creating bean with name 'statelessTicketCache'
          Error setting property values;

          nested exception is
          nested PropertyAccessExceptions (1) are:
          PropertyAccessException 1:
          TypeMismatchException:

          Failed to convert property value of type [net.sf.ehcache.Cache]
          to required type [net.sf.ehcache.Ehcache] for property 'cache'

          Error creating bean with name 'authenticationManager'
          Cannot resolve reference to bean 'casAuthenticationProvider'
          while setting bean property 'providers' with key [0];

          nested exception is
          Error creating bean with name 'casAuthenticationProvider'
          Cannot resolve reference to bean 'statelessTicketCache' while setting bean property 'statelessTicketCache';

          nested exception is
          Error creating bean with name 'statelessTicketCache'
          Error setting property values;

          nested exception is
          nested PropertyAccessExceptions (1) are:
          PropertyAccessException 1: org.springframework.beans.TypeMismatchException:
          Failed to convert property value of type [net.sf.ehcache.Cache]
          to required type [net.sf.ehcache.Ehcache] for property 'cache'

          Error creating bean with name 'casAuthenticationProvider'
          Cannot resolve reference to bean 'statelessTicketCache'
          while setting bean property 'statelessTicketCache';

          nested exception is
          Error creating bean with name 'statelessTicketCache'
          Error setting property values;

          nested exception is PropertyAccessExceptionsException;
          nested PropertyAccessExceptions (1) are:
          PropertyAccessException 1:TypeMismatchException:
          Failed to convert property value of type [net.sf.ehcache.Cache]
          to required type [net.sf.ehcache.Ehcache] for property 'cache'

          Error creating bean with name 'statelessTicketCache'
          Error setting property values;

          nested exception is PropertyAccessExceptionsException;
          nested PropertyAccessExceptions (1) are:
          PropertyAccessException 1: org.springframework.beans.TypeMismatchException:
          Failed to convert property value of type [net.sf.ehcache.Cache]
          to required type [net.sf.ehcache.Ehcache] for property 'cache'

          PropertyAccessExceptionsException;
          nested PropertyAccessException details (1) are:
          PropertyAccessException 1:
          ypeMismatchException:
          Failed to convert property value of type [net.sf.ehcache.Cache]
          to required type [net.sf.ehcache.Ehcache] for property 'cache'

          上面的內容是我將重復信息去掉,并分塊后的結果。

          從報錯機制可以看出來,spring出現異常不同于普通的java異常,我們查異常的習慣一般是關注第一行,但是sping恰恰相反,要在sping中查錯,你必須分解他,因為spring的嵌套層次比較多,它報錯是從最高層報起,然后逐層往下,每個層次都會要報錯,直到最終出錯的地方,因此查sping的錯必須逐層分解到最底層,那里才是真正出錯的地方。

          OK,現在看出來了,真正錯誤的原因是:
          Failed to convert property value of type [net.sf.ehcache.Cache]
          to required type [net.sf.ehcache.Ehcache] for property 'cache'

          我出現這個錯誤的原因是使用了Acegi 1.0.5,它本身自帶了ehcache 1.2.4.jar
          但是我同時還使用了hibernate3.1,從Eclipse導入hibernate3.1時,將會導入ehcache 1.1.jar,因為hibernate本身也要使用EHCache,但是版本不同。


          只有注冊用戶登錄后才能發表評論。


          網站導航:
           

          posts - 3, comments - 32, trackbacks - 0, articles - 3

          Copyright © Exiler

          主站蜘蛛池模板: 承德市| 黔江区| 洱源县| 河西区| 汉中市| 乃东县| 潜山县| 江城| 昆山市| 若尔盖县| 德清县| 鹤壁市| 临夏市| 怀仁县| 涡阳县| 长春市| 平乡县| 夏河县| 龙里县| 泾阳县| 荔浦县| 建平县| 阿合奇县| 油尖旺区| 镇安县| 德州市| 都昌县| 河曲县| 湖北省| 宣城市| 简阳市| 呼伦贝尔市| 巴马| 洛阳市| 新河县| 安庆市| 枣庄市| 南木林县| 务川| 买车| 台湾省|