目录
3)SpringBoot工程打成jar包后运行,提示没有主清单属性
4)使用mybatis-plus自动生成代码时,只生成package,没有生成出来java类
1)使用Feign调用服务的方法时,报错:Load balancer does not have available server for client
1.背景
将SpringBoot工程开发中遇到的一些问题做一个合集版,并持续更新,感谢那些愿意分享的网友们~~
2.IDEA或工程问题合集
1)创建的子Module不是java工程
问题:使用IDEA创建子Module时,偶尔会出现Module名称上没有相应的标记,或者java文件夹上没有蓝色图标,或者创建的.java文件没有“J”这样的图标展示,或者resources中的.yml也没有展示出正确的图标。
解决方法:左侧Projects导航栏上,选择文件,右键 -》Mark Directory As,将没有正确展示出图标的文件选择为对应的资源即可。
参考:Java新建Maven子模块,IDEA项目结构不正确_Joker的博客-CSDN博客
2)IDEA中删除的子工程,在右侧Maven导航栏中仍显示
问题:如标题的描述
解决方法:File -》Invalidate Caches/ Restart...
参考:IDEA中删除项目中的Module后,maven projects仍有依赖_凉掰开水的博客-CSDN博客
3)SpringBoot工程打成jar包后运行,提示没有主清单属性
问题:如标题的描述
解决方法:解决SpringBoot打包成jar后运行提示没有主清单属性_zxf_noimp的博客-CSDN博客
4)maven编译时提示level 5
参考:IDEA解决Maven工程的Language Level默认为5的问题_hon_vin的博客-CSDN博客
3.Mybatis-plus问题合集
1)运行时报类似错误:没有xxx表
原因:由于数据库中的表名与Java代码的Entity中的类名不一致。
解决方法:在entity添加注解@TableName("t_table")。t_table为数据库中的表名。
2)使用注解@TableId不生效
原因:自己把Long写成了long
参考:mybatis-plus使用中的常见问题_我是个少年的博客-CSDN博客
3)mybaits-plus自动生成代码时报错
参考:mybatis-plus 错误java.lang.NoClassDefFoundError: org/apache/velocity/context/Context_Murphy的博客-CSDN博客
4)使用mybatis-plus自动生成代码时,只生成package,没有生成出来java类
原因:没有在生成代码对应的数据库中配置对应的表
5)使用page功能未分页
原因:自己粗心,少写了配置类
import com.baomidou.mybatisplus.core.injector.ISqlInjector;
import com.baomidou.mybatisplus.extension.injector.LogicSqlInjector;
import com.baomidou.mybatisplus.extension.plugins.PaginationInterceptor;
import org.mybatis.spring.annotation.MapperScan;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
@Configuration
@MapperScan("com.java.service.mapper")
public class TestServiceConfig(){
@Bean
public ISqlInjector iSqlInjector(){ return new LogicSqlInjector();}
@Bean
public PaginationInterceptor paginationInterceptor() { return new PaginationInterceptor();}
}
调用:
@Autowired
TestService testService;
@GetMapping("getPage")
public CommonResult getPage(@RequestParam("page") long page, @RequestParam("size") long size){
Page<TestEntity> pageTest = new Page<>(page, size);
testService.page(pageTest, null);
return CommonResult.ok().data("total", pageTest.getTotal()).data("items", pageTest.getRecords());
}
4.SpringCloud问题合集
1)使用Feign调用服务的方法时,报错:Load balancer does not have available server for client
可能的原因和方法,参考:
springcloud feign报错:Load balancer does not have available server for client - 张震-Miles - 博客园
除以上情况外,我在这里的遇到的是,使用公司的sdk中和springcloud版本不匹配,并且将@FeignClients(value = "")改为了@FeignClients(name = "")
2)使用Feign调用服务的方式时,时好时坏
这里遇到的不是路径写错,而是调用的producer端的方法上少了@PathVairable参数,证明Feign在调用producer方法时一定要从method、路径、函数名以及函数参数都要保持一致
参考:
记一次 feign.FeignException: status 404 reading xxx 问题解决_沙滩的流沙520的博客-CSDN博客