我是Maven的新手,我們將基於ant的項目轉換爲Maven項目。每件事情都很好。另外我們需要明智地編譯源代碼包。爲了更清楚起見,我們在src/main/java文件夾中有三個包,分別是dao,svc和controller。我想首先編譯dao,然後通過給dao引用編譯svc,類似地通過僅給出svc的引用來編譯控制器,但不是dao。使用Maven進行封裝編譯?
最終目標是確保控制器不使用任何dao類,它們只能使用svc類。如果這種情況失敗,Maven構建必須失敗。
請建議。
我是Maven的新手,我們將基於ant的項目轉換爲Maven項目。每件事情都很好。另外我們需要明智地編譯源代碼包。爲了更清楚起見,我們在src/main/java文件夾中有三個包,分別是dao,svc和controller。我想首先編譯dao,然後通過給dao引用編譯svc,類似地通過僅給出svc的引用來編譯控制器,但不是dao。使用Maven進行封裝編譯?
最終目標是確保控制器不使用任何dao類,它們只能使用svc類。如果這種情況失敗,Maven構建必須失敗。
請建議。
這聽起來像你需要一個multi-module maven project。創建一個父項目,其任務只是聚合你的三個模塊並提供一個構建。爲每個包創建一個模塊,然後定義各個POM文件中這些模塊之間的依賴關係。
Maven構建系統足夠聰明,可以根據您聲明的依賴關係知道構建模塊的順序。如果您沒有定義依賴關係(例如,在控制器和dao之間),則控制器模塊無法訪問dao模塊中的類。
最終源佈局將是這樣的:
your-project
your-project/pom.xml <--- parent POM
your-project/dao
your-project/dao/pom.xml
your-project/dao/src/main/...
your-project/svc
your-project/svc/pom.xml
your-project/svc/src/main/...
your-project/controller
your-project/controller/pom.xml
your-project/controller/src/main/...
分割刀/ SVC /控制器爲多個行家項目和相應地設置的依賴關係。 –
實現此目的的最簡單方法是將項目拆分爲三個(並且沒有控制器導入dao)。 – Thilo