为什么maven命令一般只用clean和install?

项目中的maven命令如下:
mvn clean -U install -Dmaven.test.skip=true -DskipTests
为什么只有clean(清除target)和install(放到本地仓库供其他模块使用),没有complie和package。同事说install包含了编译和打包,是这样吗?是的话为什么没有包含clean只包含了compile和package呢

因为maven的有3套生命周期clean,default,site。他们是相互独立的,执行了clean就是你所说的删除target包中的东西。而install是属于default声明周期的阶段,
compile也是属于default声明周期的,一般来说一个生命周期中的各个阶段是顺序执行的,所以执行install的时候会包含compile。另外可以看一下maven实战
很不错的一本书。

因为clean多数用在清理缓存,而install用于将自己的jar包上传到私库中。

clean 删除target中的字节码文件和测试报告的文件, compile是变异 package是打包 打包之后是.jar的文件 install是把打包好的文件安装到本地仓库中,你要安装肯定需要先清理 ,然后重新编译再打包,才能安装,所以你同事说的是对的

Maven有三种标准的生命周期:clean、build、site。
clean和install分开是因为不在一个生命周期。

Maven的“构建”生命周期阶段很多。常见的有validate、compile、test、package、install……
分阶段运行,执行了package,前面的validate、compile等所有阶段也会执行;执行install时同理。

clean清理缓存,install上传jar包

可以理解为clean是清除你之前编译的那些文件,install是编译你现在更改过的文件,或者是重新编译

clean清除编译数据,install重新编译。就像开机和关机一样