一、继承方式
分别创建三个项目fu、ca、cb。fu作为父项目,ca、cb、cp作为子项目
fu创建时打包方式为pom;
ca、cb创建时打包方式为jar;
cp创建时打包方式为war(主要看插件是否也跟着继承过来)
fu项目的pom.xml
4.0.0
com.xx
fu
0.0.1-SNAPSHOT
pom
javax.servlet
servlet-api
2.3
org.apache.maven.plugins
maven-war-plugin
3.3.1
ca项目的pom.xml
com.xx
fu
0.0.1-SNAPSHOT
../pom.xml
4.0.0
ca
javax.servlet
servlet-api
org.codehaus.jackson
jackson-core-lgpl
1.9.4
cb项目的pom.xml
com.xx
fu
0.0.1-SNAPSHOT
../pom.xml
4.0.0
cb
com.xx
ca
0.0.1-SNAPSHOT
cp项目的pom.xml
com.xx
fu
0.0.1-SNAPSHOT
../pom.xml
4.0.0
cp
war
二、聚合方式
分别创建三个项目fuproject、cap、cbp、cpp。fuproject作为父项目,cap、cbp、cpp作为子模块
fu创建时打包方式为pom;
cap、cbp创建时打包方式为jar;
cpp创建时打包方式为war(主要看插件是否也跟着继承过来)
fuproject项目的pom.xml
4.0.0
com.xx
fuproject
0.0.1-SNAPSHOT
pom
cap
cbp
cpp
javax.servlet
servlet-api
2.5
org.apache.maven.plugins
maven-war-plugin
3.3.1
cap项目的pom.xml
4.0.0
com.xx
fuproject
0.0.1-SNAPSHOT
cap
org.codehaus.jackson
jackson-core-lgpl
1.9.4
cbp项目的pom.xml
4.0.0
com.xx
fuproject
0.0.1-SNAPSHOT
cbp
com.xx
cap
0.0.1-SNAPSHOT
cpp项目的pom.xml
4.0.0
com.xx
fuproject
0.0.1-SNAPSHOT
cpp
war
注意:
1、无论继承还是聚合
如果父pom中使用的是
....
的方式,则子pom会自动使用pom中的jar包;
如果父pom使用
....
方式,则子pom不会自动使用父pom中的jar包,这时如果子pom想使用的话,就要给出groupId和artifactId,无需给出version