1.如何解决application.properties中driver-class-name: com.mysql.jdbc.Driver爆红

根本原因是它没有找到jar包:

(此处原来是报红色波浪线错误,现在是已经改好了)

Snipaste_2024-12-03_14-25-43

Snipaste_2024-12-03_14-27-45

解决方案:

1.把仓库里的文件夹删了重新下载(带上版本号version)

2.从网站https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-starter-test 下载后放进本地仓库

Snipaste_2024-12-03_14-34-48

总之就是让本地仓库有这个jar包即可

2.userMapper 注入失败

1
2
3
4
5
6
7
if (userMapper == null) {
System.out.println("userMapper is null");
} else {
System.out.println("userMapper is initialized");
}
输出:
userMapper is null

可能的原因:

  1. 如果是在测试类中,则检查是否缺少@SpringBootTest 注解
  2. UserMapper 未标注 @Mapper ,导致Spring boot无法识别
  3. 启动类中没有配置 @MapperScan(”com.xx.xx.mapper”),无法扫描 UserMapper 所在的包路径
  4. 漏了@Autowired注解
  5. MyBatis 配置问题:检查 MyBatis 的配置文件是否正确,确保数据源和 MyBatis 配置正常。application.properties中的账号密码错误之类,如果是MySQL8以上,则driver和url会变化
  6. userMapper 对象本身为 null

3.IDEA创建springboot的过程中,选择java版本时发现没有java8版本,只有java17、21、23

解决方案:创建一个新项目,建议选择JDK21,该版本兼容JDK8,可以不用配置JDK21的环境直接创建项目后,修改POM文件中SpringBoot为2.x.x和Java.version为8即可。

1
2
3
4
5
6
7
8
9
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.2.1.RELEASE</version><!-- 3.0以下 -->
<relativePath/>
</parent>
<properties>
<java.version>8</java.version>
</properties>

参考资料:https://blog.csdn.net/weixin_73609038/article/details/136852973

4.dependencyManagement 里面的依赖爆红无法下载

只是用于父工程管理依赖的,用于统一管理jar的版本。子工程需要使用相应的jar引入依赖即可,这时才真正的使用到相应jar,才会去下载。

本地没有该依赖的所有jar包,将dependencyManagement>标签先去除。先让maven去把jar下载到本地仓库,下好了再加上dependencyManagement>标签即可解决,或者不去处理,子工程需要使用相应的jar引入依赖即可,这时会自动去下载jar,一顿操作之后发现可行!

参考资料:https://blog.csdn.net/qq_41394352/article/details/121219805

5.maven 打包问题(repackage failed: Unable to find main class)

1.问题原因为使用spring boot项目,用的maven插件为

1
2
3
4
5
6
7
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<version>2.2.1.RELEASE</version>
</plugin>
</plugins>

用此插件打包时候会默认寻找签名是public static void main(String[] args)的方法,没有所以报错,

可以修改配置解决此问题(仅修改报错的子模块,不修改父模块)。配置如下:

1
2
3
4
5
6
7
8
9
10
11
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<skip>true</skip>
</configuration>
</plugin>
</plugins>
</build>

或者直接修改maven插件,改用apache的maven插件,配置如下:

1
2
3
4
 <plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
</plugin>

参考链接:https://blog.csdn.net/i402097836/article/details/116232418