SSH項目升級JDK1.7至JDK1.8時遇到的問題及解決辦法

負責的一個SSH老項目,因爲想集成flowable工作流,但是看了flowable的說明發現必須採用jdk 1.8運行。可是我的項目恰好是在jdk 1.7上運行是沒問題的,所以就想着升級成1.8,結果發現升級之後項目無法運行,並報如下錯誤:AnnotationAwareAspectJAutoProxyCreator is only available on Java 1.5 and higher

這裏的問題是Spring 2.5中org.springframework.context.annotation.AnnotationConfigBeanDefinitionParser自動檢測,jdk版本檢測的時候需要jre1.5以上版本,但是JdkVersion只檢查到了1.7,jre1.8 時不匹配任何jdk。

以上問題,網上好多人的辦法是將JDK1.8換回JDK1.7,什麼?那我幹嘛還要升級呢?所以這種方法行不通了。

既然JDK升級後Spring有問題,那就順便一併升級一下Spring吧,升級Spring的時候,沒太敢一下子升級到最新,可能會出問題,這個我沒有試不確定,所以我選擇只升級一個大版本,從2.5升級到Spring 3的最後版本Spring3.2.9。

  1. 刪除項目中原來Spring2.5.jar包
  2. 下載Spring 3.2.9相關jar包(這裏由於項目本身不是maven管理的,所以從Spring官網直接下載相關jar包添加進去)
  3. 我添加和刪除的jar包如下:
    在這裏插入圖片描述
  4. aopalliance-1.0.jar不是從Spring官網上下載的,這個jar包可從MavenRepository搜索到並下載添加
  5. 替換Spring所有的applicationContext-*.xml配置文件中相關xsd的版本爲3.2,如果xml文件太多可以批量替換,eclipse中使用Ctrl+H --> File Search,搜索到之後,選中所有需要替換的xml文件,鼠標右鍵 --> Replace Selected…,將-2.5.xsd替換爲-3.2.xsd
    在這裏插入圖片描述
    在這裏插入圖片描述
    升級後,JDK直接切換爲1.8,tomcat 8.5運行項目沒有任何問題,增刪改查也正常。希望這次經驗能幫到同樣有此類需求的人。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章