jdk1.7升級到1.8遇到的幾個問題(spring3jar包到spring4jar包,bean注入,freemarker.jar版本衝突,jackson-***.jar升級),已解決

     由於公司之前一直在用一套老的架構(ssm+jdk1.7+dwz前端框架),這次和浦發銀行合作開發一項目,但是人家的環境是jdk1.8,環境衝突啓動報錯,如下:

org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'adminInfoServiceImpl' defined in file [C:\myeclipse workspace\.metadata\.me_tcat7\webapps\cardManage\WEB-INF\classes\com\mer\service\impl\AdminInfoServiceImpl.class]: Post-processing failed of bean type [class com.mer.service.impl.AdminInfoServiceImpl] failed; nested exception is org.springframework.beans.FatalBeanException: Failed to obtain BeanInfo for class [com.mer.service.impl.AdminInfoServiceImpl]; nested exception is java.beans.IntrospectionException: type mismatch between read and write methods

       簡單分析下,bean注入報錯,但是我們項目架構1.7環境下就沒問題啊。一頓好找,最後發現是spring版本的問題,需要將spring4以下的版本升級到spring4以上,所有依賴包都要升級,並且註解也要進行一些改動。

(spring版本地址:https://download.csdn.net/download/cling_snail/10864641

將jar升級之後,需要再將項目中用到的註解進行一些修改,

         jdk1.7下,架構裏的@Reosurce和@Autowired按名稱注和按類型注入入都一樣,但是jdk1.8下,只能用@Autowired按類型裝配,具體原因不太清楚,可能是我們公司架構於1.8的衝突吧。解決辦法:將controller層和server層以及別的地方所有用到@Resource裝配注入的地方改爲@Autowired。

        再次啓動,又報如下錯誤,查閱資料,發現jdk1.8下,org.springframework.http.converter.json.MappingJacksonHttpMessageConverter配置也需要相應更改,於是打開spring-servlet.xml,將org.springframework.http.converter.json.MappingJacksonHttpMessageConverter改爲:org.springframework.http.converter.json.MappingJackson2HttpMessageConverter

並且引入如下支持jdk1.8的jsonjar包:jackson-annotations-2.8.5.jar,jackson-core-2.8.5.jar,jackson-databind-2.8.5.jar,

(下載地址:https://download.csdn.net/download/cling_snail/10864662

解決之後,還有最後一個freemark報錯,之前用的是freemarker2.3.16.jar,但是會報錯,降級爲freemark.jar,錯誤解決。如圖(下載地址:https://download.csdn.net/download/cling_snail/10864678

至此,所有問題解決,真累啊,那麼多坑要填。。。。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章