微服务启动报错:java.lang.IllegalArgumentException: Not a managed type: class com.xxx.xxx.model.User

问题现象:

今天在搭建微服务架构项目后,启动某个微服务时,遇到了如下报错:

java.lang.IllegalArgumentException: Not a managed type: class com.xxx.xxx.model.xxx


问题分析:

根据报错信息可知,这是因为找不到model下某个实体类,也就是说没有找到匹配的目录路径!

这是因为在微服务架构中,当前微服务会在当前路径下去匹配这个路径:

这是我的dao接口:

在继承jpa时,要传入实体类,而这个实体类是放在另一个微服务中的,因此当指定了路径之后启动,发现在当前微服务下找不到,因此需要在启动类中,指定实体类的包路径(如:

@EntityScan(basePackages={"com.stephen.shopcommon"})

), 配置完之后,就会去整个项目中匹配这个路径,因此就可以找到对应的微服务的实体类路径了.


解决方法:

在当前启动类中添加@EntityScan注解,在basePackages属性中配置实体类所引用的微服务路径:

启动成功:

猜你喜欢

转载自blog.csdn.net/weixin_42585386/article/details/109201668