idea自动配置相关bug
自动导包错误
前情:在配置springboot相关pojo类时,使用了lombok的@data注解,想测试lombok注解是否生效。于是在测试类中测试能否使用Autowired注解注入相关类,但是idea报错,提示找不到相关类。
bug信息为
org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with nameNo qualifying bean of type 'org.apache.catalina.User' available
但com.catgod.pojo.User
类才是我定义的
spring却查找org.apache.catalina.User
解决
查询发现org.apache.catalina.User是tomcat与servlet相关的类,这应该是配置时配置的包映射关系错误,或者是是包导入错误。经过我的确认
我发现在idea自动导包时选择了org.apache.catalina.User的user类,而不是我自己定义的user类,更改import后问题解决。
maven源设置问题
前情:springBoot加载maven插件时,报错
Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.8.1:compile (default-compile) on project
解决:本地已经下载过maven程序,但是idea中的maven配置的源是默认的,而不是本地的maven源,将maven配置的源改为本地的maven源后问题解决。
并且 idea要更改默认maven源,需要在new project Setting中更改,而不是在project Setting中更改。
yml文件加载错误异常
前情:使用application.yml作为spring配置文件时抛出异常org.yaml.snakeyaml.error.YAMLException: java.nio.charset.MalformedInputException: Input length = 1
解决:这是编码格式输入异常,将Spring配置文件的编码格式改为UTF-8后问题解决。在yml文件中,有中文注释,将中文注释删除或更改编码后重新写入后问题解决。
SpringBoot依赖本版不匹配
前情:在使用springBoot时,有的依赖springboot无默认版本管理,例如mysql(查找不到),但大部分依赖已约定配置(例如tomcat、jdbc、juit等),所以在手动配置初次使用时应先检查依赖版本相对于Springboot版本是否过低或者过高 解决:查询SpringBoot版本(例如3.0.5)对应依赖