gpt4 book ai didi

eclipse - Maven 多模块项目中的 Autowiring 依赖项

转载 作者:行者123 更新时间:2023-12-04 03:35:55 25 4
gpt4 key购买 nike

我有一个 Maven 项目,其中包含“核心”和“网络”部分。我正在尝试将其转换为多个模块。

我已经将“web”包放入新项目中。我已将核心项目添加为依赖项,并且可以在 Eclipse 中引用它的类。 “核心”项目正确显示在 WEB-INF\lib 中在我构建它的“web”项目中。

当“核心”项目中的类是 @Autowired 时,问题就出现了。在“网络”项目中。

在这种特殊情况下,我将一个服务类从“核心” Autowiring 到“网络”项目中的一个网络服务类中。如果我将核心服务所在的包添加到我的 context:component-scan在我的“web”应用程序配置中,它找到了该服务,但随后该服务引用了一个存储库,该存储库引用了一个实体,该实体正在寻找我在“核心”的应用程序上下文中配置的实体管理器工厂项目。

所以似乎 context:component-scan在“核心”项目中可能没有发生?或者,“网络”项目可能无法使用所选择的类(class)?

我对多模块项目完全陌生,所以如果有人能让我从正确的方向开始解决这个问题,我将不胜感激。

如果重要的话,我在 Eclipse 中使用 m2e 和 Run Jetty Run 插件;但是,当我执行 mvn jetty:run 时,我似乎遇到了同样的问题从命令行。

最佳答案

您将需要从您的 Web 模块应用程序上下文中加载核心模块应用程序上下文。否则它将不知道核心应用程序上下文中定义的 bean。
查看 Application context from other maven module cannot be loaded 的答案和 Spring import application context from another project寻求适当的解决方案。
你也可以看看这个post很好地描述了如何使用 Maven 创建一个多模块 Spring 项目。

关于eclipse - Maven 多模块项目中的 Autowiring 依赖项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15842523/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com