1
我有一個遺留WebApp項目,由許多遺留模塊和一些新模塊組成。我正在努力將現有項目遷移到基於Gradle的版本而不是更改文件夾結構(至少現在)。Gradle遺留多模塊構建:解決不良選擇
模塊結構是在以下非常平:
project-root
|-- module1
|-- module2
|-- module3
|-- module4
|-- newModule (newly added!)
| |-- sub1
| |-- sub2
現在讓我們說module1
和module2
需要一個WAR文件進行部署,說war1.war
,module3
並以不同的WAR文件module4
,說war2.war
,最後newModule:sub1
和newModule:sub2
將作爲兩個獨立應用程序部署。
現在我在討論如何創建這些工件。我是否應該爲每個工件單獨添加一個戰爭模塊,即一個用於war1
,另一個用於war2
?或者我應該在根項目中有兩項任務?如果是這樣,我怎樣才能使用戰爭插件來產生許多不同的文物?或者我應該選擇一個模塊作爲兩個工件的主機,即module1
構建war1
和module3
構建war2
或類似的東西?終於還是我應該重新組織項目(我想避免這樣做),以這樣的事:
project-root
|-- war1
| |-- module1
| |-- module2
|-- war2
| |-- module3
| |-- module4
|-- newModule
| |-- sub1
| |-- sub2
這是我想出了一段時間後想出來的解決方案。我認爲它會起作用。 –
它會工作,並且是一個很好的和靈活的解決方案。使現有項目成爲主機也很好,如果每次戰爭都有一個項目明顯與戰爭有關(例如包含所有的JSP),並且沒有在不同環境中重用的潛力,那麼這是一個自然的解決方案。重新組織目錄結構沒有任何優勢。例如,即使是平坦的結構,Gradle也足夠聰明,可根據需要自動重建相關項目。總之,傳統結構看起來並不糟糕。 –