Java9及以上报错处理和java.sql.SQLException: The server time zone value '$$' is unrecognized/MySQL5.8jar包

一、做项目时遇到客户端Java12版本过高引起的项目无法启动进而报错如下:
java.lang.NoClassDefFoundError: javax/xml/bind/JAXBException
问题原因:
JAXB API是java EE 的API,因此在java SE 9.0 中不再包含这个 Jar 包。
java 9 中引入了模块的概念,默认情况下,Java SE中将不再包含java EE 的Jar包
而在 java 6/7 / 8 时关于这个API 都是捆绑在一起的
解决办法:
(一)降低所使用的jdk使其包含需要的jar包
(二)既然升级了jdk肯定可能不想换,可以采用如下操作
1.此时需要引入如下jar包。这里是ssmweb项目引入如下的jar包:
链接: https://pan.baidu.com/s/1A_6U-z-IcrD7fcahGgn8hQ 提取码: y2jn
2.如果是maven项目需要在pom.xml中加入如下代码:

		<dependency>
            <groupId>javax.xml.bind</groupId>
            <artifactId>jaxb-api</artifactId>
            <version>2.3.0</version>
        </dependency>
        <dependency>
            <groupId>com.sun.xml.bind</groupId>
            <artifactId>jaxb-impl</artifactId>
            <version>2.3.0</version>
        </dependency>
        <dependency>
            <groupId>com.sun.xml.bind</groupId>
            <artifactId>jaxb-core</artifactId>
            <version>2.3.0</version>
        </dependency>
        <dependency>
            <groupId>javax.activation</groupId>
            <artifactId>activation</artifactId>
            <version>1.1.1</version>
        </dependency>

二、java.sql.SQLException: The server time zone value ‘$$’ is unrecognized
问题原因:针对mysql升级到比较高的版本所以引起加载mysql访问连接url安全要求级别提升。如下:
1.修改url连接如下:
url=jdbc:mysql://localhost:3306/test?useUnicode=true&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=UTC
2.当mysql安装为5.8时需要更换mysql-connection驱动如下:(jar包)
链接: https://pan.baidu.com/s/1KRhd22FLl5Apg05Hh7V0XQ 提取码: 7jw3
3.当然数据库驱动都更新了那阿里连接池也需要更新:
链接: https://pan.baidu.com/s/1pu4gbg2_RhrY2-xv1mac1A 提取码: vj4g 复制这段内容后打开百度网盘手机App,操作更方便哦

最后:重新启动即可!

你可能感兴趣的:(部分知识,报错统计,配置信息,java)