1. 父模块打包
父模块打包时,子模块都是依赖即使打包的jar,所有模块的jar都是最新jar
2. 子模块打包
子模块直接打包,如果有依赖其他模块,其他的模块必须在本地库存在, mvn install 方式安装到本地库,所以子模块打包都是使用库里的jar. 如果要使用最新的代码,方式一,父模块直接打包;方式二,把所有依赖的模块 install 到maven本地库中
3. 常用命令
默认使用pom.xml文件,跳过测试代码的编译和执行,-Dskip.tests=true只是跳过代码执行,还是会编译
clean package -Dmaven.test.skip=true
指定pom.xml文件
clean package -f pom-my.xml -Dmaven.test.skip=true
+X debug模式
clean package -f pom-my.xml -Dmaven.test.skip=true -X
4.常用打包命令
实例
命令
-pl,--projects <arg> Comma-delimited list of specified
reactor projects to build instead
of all projects. A project can be
specified by [groupId]:artifactId
or by its relative path.
打包指定模块
# 只打包指定模块
mvn clean package -Dmaven.test.skip=true -Dmaven.javadoc.skip=true -Pdev -pl module
# 打包指定模块并且打包其依赖的模块
mvn clean package -Dmaven.test.skip=true -Dmaven.javadoc.skip=true -Pdev -pl module -am
# 打包指定模块并且打包依赖指定模块的模块
mvn clean package -Dmaven.test.skip=true -Dmaven.javadoc.skip=true -Pdev -pl module -amd
不打包模块 !
# 支持多个模块不打包
mvn clean package -Dmaven.test.skip=true -Dmaven.javadoc.skip=true -Pdev -pl !./test,!./module2