全栈项目学习中遇到的BUG
1.如何解决application.properties中driver-class-name: com.mysql.jdbc.Driver爆红
根本原因是它没有找到jar包:
(此处原来是报红色波浪线错误,现在是已经改好了)
解决方案:
1.把仓库里的文件夹删了重新下载(带上版本号version)
2.从网站https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-starter-test 下载后放进本地仓库
总之就是让本地仓库有这个jar包即可
2.userMapper 注入失败
1 | if (userMapper == null) { |
可能的原因:
- 如果是在测试类中,则检查是否缺少@SpringBootTest 注解
- UserMapper 未标注 @Mapper ,导致Spring boot无法识别
- 启动类中没有配置 @MapperScan(”com.xx.xx.mapper”),无法扫描 UserMapper 所在的包路径
- 漏了@Autowired注解
- MyBatis 配置问题:检查 MyBatis 的配置文件是否正确,确保数据源和 MyBatis 配置正常。application.properties中的账号密码错误之类,如果是MySQL8以上,则driver和url会变化
- userMapper 对象本身为 null
3.IDEA创建springboot的过程中,选择java版本时发现没有java8版本,只有java17、21、23
解决方案:创建一个新项目,建议选择JDK21,该版本兼容JDK8,可以不用配置JDK21的环境直接创建项目后,修改POM文件中SpringBoot为2.x.x和Java.version为8即可。
1 | <parent> |
参考资料:https://blog.csdn.net/weixin_73609038/article/details/136852973
4.dependencyManagement 里面的依赖爆红无法下载
本地没有该依赖的所有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 | <plugins> |
用此插件打包时候会默认寻找签名是public static void main(String[] args)的方法,没有所以报错,
可以修改配置解决此问题(仅修改报错的子模块,不修改父模块)。配置如下:
1 | <build> |
或者直接修改maven插件,改用apache的maven插件,配置如下:
1 | <plugin> |
参考链接:https://blog.csdn.net/i402097836/article/details/116232418