1、Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection
原因:MySQL8要求必须设置时区
解决:在.properties配置文件中的数据库URL中,加上时区,构成如下格式:
jdbc:mysql://主机名:3306/数据库名?serverTimezone=UTC
2、JPS INCREMENTAL ANNOTATION PROCESSING IS DISABLED
最终解决方法:
把lombok的版本由1.16.12改为1.16.20
3、Unable to make field private com.sun.tools.javac.processing.JavacProcessingEnvironment
原因:JDK版本太高了,降低JDK版本即可
解决报错Unable to make field private-程序员宝宝
4、部署到服务器后,访问页面出现Error resolving template [], template might not exist or……
解决方法
把controller类中return的网页最前的斜杠’/’删除,像下边这样,修改前是return “/index”,修改后是return “index”
修改前
修改后
但是重定向还是要加上斜杠/:
5、Exception in thread “main“ java.lang.UnsupportedClassVersionError
原因
根本原因:用高版本JDK编译的程序,运行在了低版本的JVM上。
解决方法
①先检查当前计算机中的Java版本,看看二者是否一致:
如果一致,则可以确认是编译器原因,因为编译器在编译时使用的自带javac,而非系统javac;
②修改编译器所用jdk(以IDEA为例)
IDEA在项目编译时,有4个地方涉及到了JDK,如果不知道修改哪个,可以都试试:
1)Edit Configuration → 修改Build and run中的JDK版本
2)File → Project Structure → Project → SDK
3)File → Project Structure → Module → Sources → Language Level
3)File → Project Structure → Module → Dependencies → Module SDK
4)pom.xml文件中,用如下代码标注jdk版本
<properties> <java.version>1.8</java.version> </properties>
后续
1)如果还没有解决,请检查main方法所在的java类,是否忘记了注解@EnableAutoConfiguration
2)如何查看IDEA自带的jdk版本?
Project Structure → SDKs
6、Error:java: 警告: 源发行版 X 需要目标发行版 X
原因
发行版本的JDK与源版本JDK版本不一致
解决
源版本的设置:File → Project Structure → Sources → Language Level
File → Project Structure → Dependencies → Module SDK
目标版本的设置:File → Setting → Build,Execution,Deplyment → Compiler → Java Compiler → Targer bytecode version
也可以直接从如下入口进入
后续
如果以上设置好了还是不行,就需要去pom.xml文件中,看看是不是忘记了设置java版本,如下:
<properties> <java.version>1.8</java.version> </properties>
记得要和jdk版本匹配,或者删除不用,因为这配置也只是建议项,不是必须设置的。
7、java: 无效的目标发行版: 11
原因
发行版本为jdk11,但是编译时却采用了更低版本的jdk(比如jdk8),导致无法使用更高版本的功能
解决
问题本质和问题5一样,可以去看问题5的解决方法
8、has been compiled by a more recent version of the Java Runtime (class file version 56.0),this version of the Java Runtime only recognizes class file versions up to 52.0
原因
当前JDK为52.0,而编译JDK为56.0,这里的数字与JDK版本的对应关系为:
49 = Java 5 50 = Java 6 51 = Java 7 52 = Java 8 53 = Java 9 54 = Java 10 55 = Java 11 56 = Java 12 57 = Java 13 58 = Java 14
解决
问题本质和问题5一样,可以去看问题5的解决方法
8、Cause: java.sql.SQLSyntaxErrorException: Unknown column ‘name‘ in ‘field’
原因
mapper.xml文件中的问题,极大可能是SQL语句的问题
解决
请检查SQL语句中的查询列名是否与数据库中的列名一致,通常发生在用了不同数据库但没改SQL语句的情况下(比如用了某个服务器上的数据库,但是SQL语句还是针对本机数据库)。
9、java: java.lang.IllegalAccessError: class lombok.javac.apt.LombokProcessor (in unnamed module @0x7f85739c) cannot access class com.sun.tools.javac.processing.JavacProcessingEnvironment (in module jdk.compiler) because module jdk.compiler does not export com.sun.tools.javac.processing to unnamed module @0x7f85739c
原因
lombok版本过低
解决
在pom.xml中升级lombok的版本至1.18.20
<dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <version>1.18.20</version> </dependency>
原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/273607.html