1. 程式人生 > >SSHE在jetty下啟動錯誤排查

SSHE在jetty下啟動錯誤排查

   今天是換新工作第一天上班,下午的時候領導給了個SSHE例項專案,讓我跑起來,再我把專案拿到手,匯入eclipse內,怎麼都跑不起來,我的開發環境是java8,mysql8,由於SSHE這個專案比較老了,中間出現了不少小插曲,最後還是一一解決了,出現以下錯誤:

如果我們出現了import出錯的話

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

請檢視 :

https://blog.csdn.net/ZCMUCZX/article/details/80915223

有解決方案;

當我把如上問題解決後,在通過jetty啟動專案時,控制檯報錯:

MultiException[java.lang.RuntimeException: Error scanning file SyonlineActio,,,,,,

通過查閱資料,解決方案把pom.xml檔案裡原有的

<groupId>org.eclipse.jetty</groupId>
 <artifactId>jetty-maven-plugin</artifactId>
 <version>9.1.0.RC1</version>

改為:

<groupId>org.eclipse.jetty</groupId>
<artifactId>jetty-maven-plugin</artifactId>
<version>9.3.0.M2</version>

當這個問題解決完成後,再次執行,又出現:

org.springframework.web.context.ContextLoader]Context initialization failed,,,

我檢視spring的版本3.x.x,所以需要升級下版本,於是就把版本更新到了4.2.6;

錯誤解決;

再次啟動時,又出現:

CXF異常:Error creating bean with name 'org.apache.cxf.jaxws.EndpointImpl 異常;

處理版本把原專案的cxf的版本從2.7.7更新到3.0.2;

接下來啟動報:

com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: Could not create con,,,,

粗略看下資料庫連線有問題,看了下專案的mysql的jar包竟然是5.2.1,果斷改為

<!-- 加入mysql驅動依賴包 -->
        <!-- <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>5.1.27</version>
        </dependency> -->
        <!-- https://mvnrepository.com/artifact/mysql/mysql-connector-java -->
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>8.0.11</version>
        </dependency>

改完啟動還是有錯,上網查了得出以下解決方案

mysql8.0和之前版本的區別,首先驅動換了,不是com.mysql.jdbc.Driver而是'com.mysql.cj.jdbc.Driver',此外mysql8.0是不需要建立ssl連線的,你需要顯示關閉。最後你需要設定CST。所以我們需要在之前我們熟悉的java連線資料庫程式碼的基礎之上改動以下兩行程式碼:
            Class.forName("com.mysql.cj.jdbc.Driver");
//          Class.forName("com.mysql.jdbc.Driver");
            conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/test_demo?useSSL=false&serverTimezone=UTC","root","password");
//            conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/test_demo","root","password");

再次啟動,沒有異常了;