簡體   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