繁体   English   中英

Maven多模块项目中的自动连接依赖项

[英]Autowired dependencies in a Maven multi-module project

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

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

当“核心”项目中的类在“web”项目中被@Autowired时,问题@Autowired出现了。

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

所以似乎可能是context:component-scan “核心”项目中的context:component-scan可能不会发生? 或者,被选中的课程可能无法用于“网络”项目?

我对多模块项目完全不熟悉,所以如果有人能让我开始朝着正确的方向着手解决这个问题,我将非常感激。

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

您需要从Web模块应用程序上下文加载核心模块应用程序上下文。 否则,它将不会知道核心应用程序上下文中定义的bean。 看看来自其他maven模块的Application上下文的答案无法加载Spring从另一个项目导入应用程序上下文以获得正确的解决方案。
您还可以看一下这篇文章,很好地描述了如何使用Maven创建一个多模块的Spring项目。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM