一、父子-聚合項目
通過 maven 可以創建父子-聚合項目。 所謂的父子項目,即有一個父項目,有多個子項目。
這些子項目,在業務邏輯上,都歸納在這個父項目下,並且一般來說,都會有重復的jar包共享。
所以常用的做法會把重復的 jar 包都放在父項目下進行依賴,那么子項目就無需再去依賴這些重復的 jar 包了。
二、創建父項目(eclipse)
- 菜單->File->New->Other->maven-Maven Project->Next
- 選擇 Create a simple project. 這一步不是必須,只是簡單一點。然后點擊Next
- 輸入參數,主要是項目名稱: parentMavenProject(Artifact Id), 然后點擊 Next
- 修改pom,主要兩點:
- 默認是 jar, 修改為pom。 這樣才可以作為父項目存在:<packaging>pom</packaging>
- 增加jar 包的依賴,用於后來子項目里觀察對其的調用。
- 修改 pom.xml 之后, 右鍵點擊項目 -> Maven -> Update Project -> OK 進行更新。 否則項目會有紅點。
三、創建子項目(eclipse)
maven 子項目有叫做模塊 module。
為了能夠在 parentMavenProject 的基礎上創建其子項目,首先右鍵點擊 parentMavenProject, 然后點擊 New -> Other -> Maven -Maven Module -> Next
(1) 和父項目一樣,這里也勾選 Create a simple project ( 非必須 ),然后點 Next
(2) 輸入參數,點擊Finish
子項目的pom.xml:
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <parent> <groupId>cn.how2j</groupId> <artifactId>parentMavenProject</artifactId> <version>0.0.1-SNAPSHOT</version> </parent> <artifactId>childMavenProject</artifactId> <name>childMavenProject</name> <description>childMavenProject</description> </project>
父項目多了:
<modules> <module>childMavenProject</module> </modules>
特別注意:Maven轉化為Dynamic Web Module
如今Maven仍然是最常用的項目管理工具,若要將Java Web項目使用Maven進行管理,則首先需要新建Maven項目,然后將其轉化為web項目。
在項目右鍵選擇properties,然后點擊左側Project Facets,勾選Dynamic Web Module,點擊Apply-->OK即可。理想情況應該可以在項目下出現WebContent目錄。如果沒有的話,首先回到Project Facets界面,將Dynamic Web Module取消勾選,點擊Apply。然后重新勾選,下方會出現“further configuration available”的鏈接,點擊進入,勾選生成web.xml文件即可。
WebContent生成之后將其下兩個文件夾剪切到src/main/webapp下,將WebContent刪除。
右擊項目,選擇 properties,選擇Deployment Assembly。選擇WebContent,並將它remove掉。接着重新指定一個web路徑,點擊Add,選擇Folder,點擊Next。在src/main下找到webapp目錄,點擊Finish。繼續點擊Add,選擇Java Build Path Entries。將當前build path指向Maven Dependency。點擊Apply和OK。
四、設置父子項目的層級結構(eclipse)
第一步:window-->show view --> project explorer
第二步:小三角---> projects presentation----->hierarchical