宁波网站推广宣传,上海专业网络营销,城建网,创作网maven常见命令之 -pl -am -amd
昨天maven的deploy任务需要只选择单个模块并且把它依赖的模块一起打包#xff0c;第一时间便想到了-pl参数#xff0c;然后就开始处理#xff0c;但是因为之前只看了一下命令的介绍#xff0c;竟然花了近半小时才完全跑通#xff0c;故记录…maven常见命令之 -pl -am -amd
昨天maven的deploy任务需要只选择单个模块并且把它依赖的模块一起打包第一时间便想到了-pl参数然后就开始处理但是因为之前只看了一下命令的介绍竟然花了近半小时才完全跑通故记录此文。
假设现有项目结构如下
dailylog-parent |-dailylog-common |-dailylog-web
三个文件夹处在同级目录中dailylog-web依赖dailylog-commondailylog-parent管理dailylog-common和dailylog-web。
根据资料已知
参数全称释义说明-pl–projectsBuild specified reactor projects instead of all projects选项后可跟随{groupId}:{artifactId}或者所选模块的相对路径(多个模块以逗号分隔)-am–also-makeIf project list is specified, also build projects required by the list表示同时处理选定模块所依赖的模块-amd–also-make-dependentsIf project list is specified, also build projects that depend on projects on the list表示同时打包依赖该模块的模块-N–Non-recursiveBuild projects without recursive表示不递归子模块-rf–resume-fromResume reactor from specified project表示从指定模块开始继续处理
以下是在maven-3.3.9中的试验 在dailylog-parent目录运行mvn clean install -pl org.lxp:dailylog-web -am结果 dailylog-common成功安装到本地库dailylog-parent成功安装到本地库dailylog-web成功安装到本地库 该命令等价于mvn clean install -pl ../dailylog-web -am 在dailylog-parent目录运行mvn clean install -pl ../dailylog-common -am结果 dailylog-common成功安装到本地库dailylog-parent成功安装到本地库 在dailylog-parent目录运行mvn clean install -pl ../dailylog-common -amd结果 dailylog-common成功安装到本地库dailylog-web成功安装到本地库 由于dailylog-parent并不依赖dailylog-common模块故没有被安装 在dailylog-parent目录运行mvn clean install -pl ../dailylog-common,../dailylog-parent -amd结果 dailylog-common成功安装到本地库dailylog-parent成功安装到本地库dailylog-web成功安装到本地库 在dailylog-parent目录运行mvn clean install -N结果 dailylog-parent成功安装到本地库 -N表示不递归那么dailylog-parent管理的子模块不会被同时安装 在dailylog-parent目录运行mvn clean install -pl ../dailylog-parent -N结果 dailylog-parent成功安装到本地库 在dailylog-parent目录运行mvn clean install -rf ../dailylog-common结果 dailylog-common成功安装到本地库dailylog-web成功安装到本地库