Luk*_*uke 4 eclipse spring spring-mvc maven m2e
我有一个Maven项目,其中包含"核心"和"网络"部分.我正在尝试将其转换为多个模块.
我采用了"网络"包并将它们放入新项目中.我已经将核心项目添加为依赖项,我可以在Eclipse中引用它的类.WEB-INF\lib当我构建它时,"核心"项目正确地显示在"web"项目中.
当"核心"项目的类@Autowired在"web"项目中时,问题就出现了.
在这种特殊情况下,我将服务类从"核心"自动装配到"web"项目中的一个Web服务类中.如果我将核心服务所在的软件包添加到我context:component-scan的"web"应用程序配置中,它会找到该服务,但随后该服务会引用一个存储库,该存储库引用一个实体,该实体正在寻找一个实体管理器工厂.已经在我的"核心"项目中的应用程序上下文中进行了配置.
所以似乎也许context:component-scan在"核心"项目中可能没有发生?或者,被选中的课程可能无法用于"网络"项目?
我对多模块项目完全不熟悉,所以如果有人能让我开始朝着正确的方向着手解决这个问题,我将非常感激.
如果重要的话,我在Eclipse中使用m2e和Run Jetty Run插件; 但是,当我mvn jetty:run从命令行执行a时,我似乎遇到了同样的问题.
您需要从Web模块应用程序上下文加载核心模块应用程序上下文.否则,它将不会知道核心应用程序上下文中定义的bean.看看来自其他maven模块的Application上下文的答案无法加载和Spring从另一个项目导入应用程序上下文以获得正确的解决方案.
您还可以看一下这篇文章,很好地描述了如何使用Maven创建一个多模块的Spring项目.
| 归档时间: |
|
| 查看次数: |
3942 次 |
| 最近记录: |