总结自:https://www.cnblogs.com/ysocean/p/7416307.html#_label1及
https://blog.csdn.net/zhaojianting/article/details/80321488
maven常见指令
1、 mvn compile 编译,将java源代码编译成class字节码文件,存入target目录下的classes
2、mvn test 测试test下的测试文件,并生成测试报告,存入target目录
3、mvn clean 将target目录删除
4、mvn package 将项目编译并打包(jar/war)至target目录下
5、mvn install 将项目编译并打包到本地仓库,这样其他项目引用本项目的jar包时不用去私服上下载jar包,直接从本地就可以拿到刚刚编译打包好的项目的jar包,很灵活,避免每次都需要重新往私服发布jar包的痛苦。
6、mvn deploy 将项目编译并打包到本地仓库和远程仓库。
mvn package 流程: resources compile testResource testCompile test(单元测试) jar
mvn install 流程:。。。。。。。。。。。。。。。。。。。。。。。。。 install
mvn deploy 流程:。。。。。。。。。。。。。。。。。。。。。。。。。。。。。deploy
常见插件:
clean
maven-clean-plugin
清除target
resource
maven-resources-pligin
将项目需要的配置文件拷贝到指定目录,默认是将src/main/resources下的文件拷贝到target下的classes目录中。
resources插件一般不单独执行,complie插件执行时会先调用resources插件。
compile
maven-resources-pligin+maven-compiler-plugin
test
maven-resources-pligin+maven-compiler-plugin+maven-surefire-plugin
maven-resources-pligin+maven-compiler-plugin与compile相同,但执行目标不同,即testCompile和testResources是把src\test\java下的代码编译成字节码输出到target\test-classes,同时把src\test\resources下的配置文件拷贝到target\test-classes。
package
有多种打包插件
maven-jar-plugin
把class文件、配置文件打成一个jar(war或其它格式)包。依赖包是不在jar里面的,需要建立lib目录,且jar和lib目录在同级目录。
maven-assembly-plugin
这个插件可以把所有的依赖包都打入到可执行jar包。但是该插件有个bug会缺失spring的xds文件,导致无法运行jar,同时如果同级目录还有其它可执行jar文件依赖可能会产生冲突。
maven-shade-plugin
所有的依赖包打入到可执行jar包,如果同级目录有其它可执行jar,依赖可能会产生冲突,且运行jar时,有时会出现SF、DSA、RSA文件冲突的提示,需要排除META-INF目录下的文件。