"Not a managed type..." 启动 Spring 启动应用程序时出错。我做错了什么?



我正在处理一个复杂的项目,我决定把它分成几个小项目。

所有项目都在使用两个小项目:

  1. Utils:一个具有公共函数和HTTP调用的项目
  2. 模型:一个包含我所有实体对象的项目

因此,utils项目由@Service组成,模型工程由@Entity组成,只是为了快速解释。

当我下载了所有项目并在本地计算机上工作时,当我启动一个使用模型和utils项目的应用程序时,它运行得非常好。当我从本地计算机中删除模型和utils并从maven存储库中开始使用它时,会发生"非托管类型"错误,我无法启动应用程序。同样的情况也发生在服务器上。

在我的spring-boot项目主类中,我尝试了几种方法,比如:

  • @EntityScan(basePackages-…指定了所有包
  • @ComponentScan(basePackages=…指定了所有程序包

但似乎什么都不起作用。我没有选择了,我想知道我的项目是否从根本上错了,我应该把我的项目结构重建成不同的东西。

基本上:

  • 我有三个项目,A、B和C
  • C项目依赖于项目a和B。B项目依赖于a
  • 当我启动项目C时,它不会将项目A和B加载到上下文中,也无法启动应用程序,从而消除了"非托管类型:com.company.project-B.Class"错误

你能帮我吗?

我花了很多时间试图发现真正的问题,它非常简单。我只导入了编译实体项目所必需的libs,但我还需要导入一些spring-boot依赖项才能使其工作。

基本上,我只是将pom.xml从我的应用程序项目复制到实体项目中,它就工作了。

相关内容

最新更新