2014-10-02 230 views
0

我有一個模塊化maven項目。 在頂層我有:Eclipse maven ear項目部署

<modules> 
    <module>base</module> 
    <module>module1</module> 
    <module>module2</module> 
    <module>ear</module> 
    </modules> 

基本模塊被打包爲一個罐子。模塊1和模塊2作爲與基礎模塊相關的戰爭。 Ear項目對模塊1和模塊2具有依賴性並相應地打包它們。 module1和module2的pom完全一樣!

一切都運行完美,除了部署到Eclipse中的本地服務器。問題在於module2在部署的耳朵的lib文件夾中缺少base.jar。然而,module1有它!如果我從命令行運行mvn install,它也會包含在目標lib文件夾中!在eclipse中,所有依賴關係都解決了!

我用盡了一切我能想到的:

  • 重新導入項目,
  • 清洗所有的Eclipse相關的文件,
  • 清潔的本地倉庫,
  • 清理服務器的TMP文件夾並重新添加項目,
  • 做一個maven更新和安裝

到目前爲止沒有什麼幫助。

乾杯

編輯:

我已經做了不知何故可怕的發現: 我添加了一個名爲 「amodule」 模塊。猜猜看,它得到了必需的罐子,其他罐子沒有。它似乎只有按字母順序排列的第一個模塊獲得了jar,而其他的則沒有。

回答

0

我的解決辦法是在包括基礎模塊的項目,取消「解決工作區的依賴」。 (項目 - >首選項 - >行家 - >取消:解決工作區依賴)

它配備了一個副作用,但:在調試過程中,base.jar就像模塊中的外部JAR處理。可以指定源代碼路徑,但我不能在基礎項目中設置斷點,並等待調試器擊中該行。