我正在創建一個多模塊項目,該項目可以構建許多其他相關項目。其中一些項目也是多模塊項目,在某些情況下,它們構建相同的子項目。 Maven對我大叫,但這是故意的,我希望它能夠繼續建立。解決maven錯誤:項目'XYZ'在反應器中複製
有沒有人解決這個問題? 謝謝。
我正在創建一個多模塊項目,該項目可以構建許多其他相關項目。其中一些項目也是多模塊項目,在某些情況下,它們構建相同的子項目。 Maven對我大叫,但這是故意的,我希望它能夠繼續建立。解決maven錯誤:項目'XYZ'在反應器中複製
有沒有人解決這個問題? 謝謝。
我不認爲你應該那樣做。 (您可以嘗試定義一個配置文件 - 比如說一個完整的配置文件,在這裏確保每個模塊只編譯一次,另一個配置文件在您執行子構建時添加額外的模塊。)
但是你最好採用maven的方式 - 每個項目都應該在其自己的目錄中包含僅作爲模塊的目錄,例如只有直接的孩子。
Maven有一些非書面的隱含假設,例如 - 始終繼承子目錄,從父目錄中的pom中繼承,例如,繼承樹必須與你的目錄樹匹配,否則一些插件將無法工作,例如發佈插件或一些報告插件。
簡短的回答是 - 在maven中,您的項目層次結構/樹中不能有兩次模塊。
maven中有很多錯誤的方法,因此必須堅持已知工作的東西 - 比如pom hierarchy ==目錄結構。
您是否嘗試過這些命令行選項之一?
-fae,--fail-at-end Only fail the build afterwards; allow all
non-impacted builds to continue
-fn,--fail-never NEVER fail the build, regardless of project
result
這樣呢,當你有這樣的結構:
+-- root-project-A
`-- pom.xml
+-- module-A
| `-- pom.xml
+-- module-B
| `-- pom.xml
+-- root-project-B
`-- pom.xml
+-- module-C
`-- pom.xml
並配置你喜歡這個模塊:
|-- root-project-A
`-- pom.xml
<modules>
<module>module-A</module>
<module>module-B</module>
<module>root-project-B</module> <!-- Error: project A reference project B -->
<module>root-project-B/module-C</module> <!-- Error: project A reference project B -->
</modules>
|-- root-project-B
`-- pom.xml
<modules>
<module>module-C</module>
</modules>
項目中的不能引用該項目B,因爲B沒有引用A作爲父母。包裝必須獨立