ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

Springboot&服务器:常见错误及解决方案

2022-07-11 11:12:04  阅读:577  来源: 互联网

标签:Java Springboot JDK java 解决方案 jdk Project 版本 服务器


1、Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection

学习自:Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection_南淮北安的博客-CSDN博客

原因:MySQL8要求必须设置时区

解决:在.properties配置文件中的数据库URL中,加上时区,构成如下格式:

jdbc:mysql://主机名:3306/数据库名?serverTimezone=UTC

 

2、JPS INCREMENTAL ANNOTATION PROCESSING IS DISABLED

学习自:java: JPS incremental annotation processing is disabled. Compilation results on partial recompilatio_Final磊的博客-CSDN博客

最终解决方法:

把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>

 

标签:Java,Springboot,JDK,java,解决方案,jdk,Project,版本,服务器
来源: https://www.cnblogs.com/ShineLeBlog/p/16442214.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有