今天是换新工作第一天上班,下午的时候领导给了个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");
再次启动,没有异常了;