选中maven项目,右键-->Run As或Debug As-->maven buid,maven install,maven test有什么区别?html
6 Maven clean-->执行的是maven的原生命令:前端
mvn clean
表示:删除target目录。java
原目录结构存在target目录windows
执行该命令后, target目录被删除。并发
2018/11/14eclipse
选中target目录-->右键-->刷新-->在windows资源管理器下打开该目录,你会发现class已经从新编译好maven
注意:这不是mvn clean命令执行的只是清空target目录,classes文件之因此从新被编译,依赖于eclipse的自动编译功能! 单元测试
7 Maven generate-sources-->执行的是maven的原生命令:测试
mvn generate-sources
表示:会根据pom配置去生成源代码格式的包,产生应用须要的任何额外的源代码(没用过)ui
8 Maven install-->执行的是maven的原生命令:
mvn install
表示:对项目进行编译、将项目打成war包而且发布到本地仓库。
target目录说明:
classes目录:.class,.properties,.xml文件;
项目名目录:项目全部源码(前端、后台、jar包)
项目名.war:将项目名目录打成的war包。
生成的target目录展现
安装到本地仓库的目录展现
9 Maven test-->执行的是maven的原生命令:
mvn test
表示的是:对项目进行编译并执行测试代码。
生成的目录:
5 Maven build...-->maven没有mvn buid命令
表示的是:这是eclipse自带的mvn插件,经过这个功能,你能够自定义设置要执行的maven命令。
用这个功能,咱们能干什么?
举2个栗子:
案例一:
由于maven在打包时,若是已经存在一个包时,再次执行打包命令时,若是不把原来的war包删除,常常会致使包没有更新;
这时,咱们就须要先清除该war包(执行clean命令对应eclipse中的Maven clean功能),再从新打包(执行package或install命令对应eclipse中的Maven install功能)。
咱们可使用"Maven build"这个功能,在"Goals"一栏,输入命令:clean install,执行一次便可。
案例二:
对项目进行打包的时候,跳过单元测试。
eclipse没有这个功能,只能经过自定义maven命令来实现,在Maven build...这个功能进行设置。
示例一:打包并发布到本地仓库
错误用法:不设置命令,直接run
至关于maven命令:
mvn
报错信息以下:
正确用法:输入 install
示例二:打包时,跳过单元测试
方式一:在上图勾选上“Skip Tests”
使用这种方式:src/test/java和src/test/resources这两个目录下的文件不会被编译,天然不会被添加到编译好的项目当中。
方式二:声明maven命令:“-DskipTests”
使用这种方式: src/test/java和src/test/resources这两个目录下的文件依然会被编译,但不会被添加到编译好的项目当中。
4 Maven build
表示的是:执行已经定义好的maven命令。
一个项目能够“Maven build...”功能定义n个maven命令,而后经过“Maven build”功能来执行想要执行的命令。
Run Configurations...
可经过这个功能,对已经自定义的maven命令进行新建、修改、运行、删除;
如何删除多余的maven命令?
选中不须要的maven命令,右键-->“删除”便可。
mvn compile
表示的是:对项目源代码进行编译。
生成的目录:
mvn deploy
表示的是:将项目发布到远程仓库。
mvn dependency:tree
表示的是:显示maven依赖树。
mvn dependency:list
表示的是:显示maven依赖列表。
mvn package
表示的是:编译项目并打成war包。
跳过单元测试的两种方式:
方式一:
-DskipTests
方式二:
-Dmaven.test.skip=true
表示的是:测试类不会被编译,或即便被编译也不会被添加到项目当中。
另外,这个指令没有前后顺序,均能正常执行。
举例: 以打包并发布到本地仓库时,跳过测试类为例。
// 方式一:形式一 mvn install -DskipTests // 方式一:形式二 mvn -DskipTests install // 方式二:形式一 mvn install -Dmaven.test.skip=true // 方式二:形式二 mvn -Dmaven.test.skip=true install
哪位大佬如若发现文章存在纰漏之处或须要补充更多内容,欢迎留言!!!