2024-03-27
bug记录
00
请注意,本文编写于 388 天前,最后修改于 344 天前,其中某些信息可能已经过时。

目录

问题 Cannot find class: com.mysql.jdbc.Driver #??mysql??
问题 Mapped Statements collection does not contain value for xxxx
问题 java: 无法访问org.springframework.boot.SpringApplication
问题 类文件具有错误的版本 61.0, 应为 55.0
问题:org.projectlombok:lombok:jar:unknown /1.18.6 not found
问题Cannot find class: com.mysql.cj.jdbc.Driver
问题 Cause: java.lang.IndexOutOfBoundsException: Index: 30, Size: 30
问题com.sun.tools.javac.code.TypeTags

这个文章专门记录在javaEE中遇到的问题和解决方法的😏😏

问题 Cannot find class: com.mysql.jdbc.Driver #??mysql??

在第一次学习JavaEE的时候测试项目遇见了以下报错
Error setting driver on UnpooledDataSource. Cause: java.lang.ClassNotFoundException: Cannot find class: com.mysql.jdbc.Driver #??mysql??

上网查询后发现是我mybatis-config.xml里面的数据库配置文件写错了,仔细检查是否有拼写错误,检查完发现是我mysql.url写错了,重新拼写后运行成功

image.png

如果上一个解决方法,不能解决你的问题可能就是pom.xml中没有导入相关的mysql依赖,导入依赖即可

xml
<dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>8.0.28</version> </dependency>

问题 Mapped Statements collection does not contain value for xxxx

在学习动态SQL的时候遇见了以下报错
Mapped Statements collection does not contain value for mapper.CustomerMapper.findCustomerByNameAndJobs 报错原因是因为找不到findCustomerByNameAndJobs这个方法导致的,上网查询后发现,可能是以下几个原因造成的:

  1. 对应的映射文件xml里面的 namespace 命名空间指向的地址错误了。
    解决方法:正确的指向pojo所在的路径。
  2. mybatis-config.xml 没有导入或者没有正确的导入对应的映射文件。
    解决方法:在<mappers>元素中添加<mapper resource="文件所在地址"/>
  3. 对应的映射文件中的 操作语句中的id 方法名没有,或者拼写错误,导致找不到方法。
    解决方法: 填写调用的方法名(id名),检查是否拼写正确。

问题 java: 无法访问org.springframework.boot.SpringApplication

在学习spring-boot的时候运行项目遇到了以下问题:
java: 无法访问org.springframework.boot.SpringApplication 错误的类文件: /C:/Users/44553/.m2/repository/org/springframework/boot/spring-boot/3.2.3/spring-boot-3.2.3.jar!/org/springframework/boot/SpringApplication.class 类文件具有错误的版本 61.0, 应为 52.0 请删除该文件或确保该文件位于正确的类路径子目录中 检查后发现是因为我创建项目的时候,pom.xml里面的jdk版本和项目所使用的版本不同,导致出现以上报错,解决方法,有以下两个: 1.更改项目所使用的JDK版本和pom.xml中的jdk版本一致 操作步骤如下: 点击 “file选项卡” ----->>选择 “Project Structure ”

image.png

更改这两个地方的jdk版本

image.png

接着修改modules 里面的 language levet版本,这三个地方的加上pom.xml中jdk的版本修改一致即可

image.png

2.修改pom.xml中的jdk版本与项目使用的jdk版本一致即可

image.png

问题 类文件具有错误的版本 61.0, 应为 55.0

在学习SpringBoot的时候创建并运行时出现了以下报错:

java
java: 无法访问org.springframework.boot.SpringApplication 错误的类文件: /C:/Users/44553/.m2/repository/org/springframework/boot/spring-boot/3.2.3/spring-boot-3.2.3.jar!/org/springframework/boot/SpringApplication.class 类文件具有错误的版本 61.0, 应为 55.0 请删除该文件或确保该文件位于正确的类路径子目录中。

检查发现是因为SpringBoot项目的版本和当前使用的jdk版本不一致,根据以下图可发现,项目所需版本是17,而我使用的是11,才导致报错。

image.png

解决方法:
更换项目使用jdk版本,或者降低SpringBoot框架版本即可

问题:org.projectlombok:lombok:jar
/1.18.6 not found

在使用lombok时引入lombok依赖开始报红

java
org.projectlombok:lombok:jar:unknown was not found in https://maven.aliyun.com/repository/public during a previous attempt. This failure was cached in the local repository and resolution is not reattempted until the update interval of alimaven has elapsed or updates are forced

报错原因:我自己也不知道


解决方法:
插件库里面下载 lombok插件

image.png

并在pom.xml里面添加以下内容

xml
<dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <version>1.16.18</version> <scope>provided</scope> </dependency>

至此问题就顺利解决

问题Cannot find class: com.mysql.cj.jdbc.Driver

出现该问题通常是因为程序在运行时找不到MySQL JDBC驱动程序的jar包

java
Cause: java.sql.SQLException: Error setting driver on UnpooledDataSource. Cause: java.lang.ClassNotFoundException: Cannot find class: com.mysql.cj.jdbc.Driver

解决方法:只需在pom.xml文件中添加对应的依赖即可

xml
<dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>8.0.28</version> <!--对应mysql驱动版本--> </dependency>

问题 Cause: java.lang.IndexOutOfBoundsException: Index: 30, Size: 30

在帮班级同学解决项目问题时,发现他使用了resultMap时对应的Bean对象里面没有无参构造函数所以造成了以下错误

java
Cause: java.lang.IndexOutOfBoundsException: Index: 30, Size: 30

解决方法:在bean类中添加无参构造函数即可

问题com.sun.tools.javac.code.TypeTags

原因:当前使用的lombok版本太低,造成的 解决方法:升级lombok版本

本文作者:苏皓明

本文链接:

版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!