Mavenclean基本命令
假设现有项⽬结构如下
dailylog-parent
|-dailylog-common
|-dailylog-web
三个⽂件夹处在同级⽬录中
dailylog-web依赖dailylog-common
dailylog-parent管理dailylog-common和dailylog-web。maven打包本地jar包
常见参数:
1. 在dailylog-parent⽬录运⾏`mvn clean install -pl org.lxp:dailylog-web -am`,结果以下是在maven-3.3.9中的试验
dailylog-common成功安装到本地库
dailylog-parent成功安装到本地库
dailylog-web成功安装到本地库
该命令等价于`mvn clean install -pl ../dailylog-web -am`
2. 在dailylog-parent⽬录运⾏`mvn clean install -pl ../dailylog-common -am`,结果
dailylog-common成功安装到本地库
dailylog-parent成功安装到本地库
3. 在dailylog-parent⽬录运⾏`mvn clean install -pl ../dailylog-common -amd`,结果
dailylog-common成功安装到本地库
dailylog-web成功安装到本地库
由于dailylog-parent并不依赖dailylog-common模块,故没有被安装
4. 在dailylog-parent⽬录运⾏`mvn clean install -pl ../dailylog-common,../dailylog-parent -amd`,结果
dailylog-common成功安装到本地库
dailylog-parent成功安装到本地库
dailylog-web成功安装到本地库
5. 在dailylog-parent⽬录运⾏`mvn clean install -N`,结果
dailylog-parent成功安装到本地库
-N表⽰不递归,那么dailylog-parent管理的⼦模块不会被同时安装
6. 在dailylog-parent⽬录运⾏`mvn clean install -pl ../dailylog-parent -N`,结果
dailylog-parent成功安装到本地库
在dailylog-parent⽬录运⾏`mvn clean install -rf ../dailylog-common`,结果
dailylog-common成功安装到本地库
dailylog-web成功安装到本地库
==========================================================================================
mvn clean package依次执⾏了clean、resources、compile、testResources、testCompile、test、jar(打包)等7个阶段。
mvn clean install依次执⾏了clean、resources、compile、testResources、testCompile、test、jar(打包)、install等8个阶段。
mvn clean deploy依次执⾏了clean、resources、compile、testResources、testCompile、test、jar(打包)、install、deploy等9个阶段。 由上⾯的分析可知主要区别如下,
package命令完成了项⽬编译、单元测试、打包功能,但没有把打好的可执⾏jar包(war包或其它形式的包)布署到本地maven仓库和远程maven私服仓库
install命令完成了项⽬编译、单元测试、打包功能,同时把打好的可执⾏jar包(war包或其它形式的包)布署到本地maven仓库,但没有布署到远程maven私服仓库
deploy命令完成了项⽬编译、单元测试、打包功能,同时把打好的可执⾏jar包(war包或其它形式的包)布署到本地maven仓库和远程maven私服仓库
==========================================================================================
Maven中的-D(Properties属性)和-P(Profiles配置⽂件)
-D代表(Properties属性)
使⽤命令⾏设置属性-D的正确⽅法是:
mvn -DpropertyName=propertyValue clean package
如果propertyName不存在l,它将被设置。
如果propertyName已经存在l,其值将被作为参数传递的值覆盖-D。
要发送多个变量,请使⽤多个空格分隔符加-D:
mvn -DpropA=valueA -DpropB=valueB -DpropC=valueC clean package
-P代表(Profiles配置⽂件)
也就是说在<profiles>指定的<id>中,可以通过-P进⾏传递或者赋值。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论