一个大项目经常要拆分成多个小模块分开打包,Maven是可以支持模块拆分的。可以包含(父模块即项目包含子模块),也可以并行(父模块和子模块是平级的)。推荐用包含方式,更清晰,更简单一些。
首先建个空项目,只要个pom.xml,不要有src。它就是父模块,pom的主要内容为:
com.xxx
xxx-xxx
项目名
pom
1.1.0-SNAPSHOT
xx1
xx2
注意父模块pom中的packaging只能是pom,不能默认,也不能是其他的。
module是子模块的路径(文件夹名),如果不在project的根目录下,需要指定子模块的具体路径,支持相对路径。
然后建子模块。子模块的pom.xml的主要内容为:
com.xxx
xxx
1.1.0-SNAPSHOT
4.0.0
xxx-xxx
子模块名
jar
需要加入父模块的依赖,注意不再是路径了。子模块的packaging可以是jar或war等。
模块之间也可以依赖,注意不要循环依赖。
子模块中parent的version需要显示写出来,用属性变量不太好使。