1、maven clean 是清除target目录下的之前打好的jar包或者是war包;
2、maven build是重新对该maven项目进行打包,这里需要手动的输入打包的命令 -X package
上面的两部命令合在一起 maven install是对上面两个命令的集合,既是通过maven自带的原生命令,同时执行了clean 和build,比较节省时间;
那么问题就来了当时为什么我单独执行会出错呢,这就可以说明 maven 对eclipse外带的插件执行命不友好;
下面是一个大神的另一个问题的总结;
之前写代码的过程中曾经遇到过问题,用mvn install后,新改的内容不生效,一定要后来使用mvn clean install 才生效,于是想看看clean和不clean的区别。
就如大家知道的,maven在执行一个生命周期的命令的是时候将会执行之前的所有生命周期操作,比如执行mvn install,会执行前面一系列的动作包括 compile , package , test 等,具体请查看maven的官方文档。这个特性使maven的命令更加简洁易用。
再来分析原来的问题,为什么修改的内容不生效,肯定是最终打出来的war包中的内容没有更新,而war包中会依赖其他子工程的jar包,如果jar 包没有更新过,那war包调用老的jar包也会导致新内容不生效。定位到问题的原因应该是jar包没有用最新的资源(java或者配置文件),那jar包 又是什么时候,谁去打的呢。
上面我们提到我们执行mvn install的时候会先执行mvn package,maven就是通过这个生命周期来根据用户配置,进行打包