Maven初识(三)——Maven的常用命令(插件),生命周期
来源:互联网 发布:c语言 最长单词 编辑:程序博客网 时间:2024/06/02 03:35
Maven常用命令
所有Maven命令的实现都是由Maven插件实现,Maven下载下来的时候是一个空壳子,里面没有太多的功能,所以体积很小。但是我们可以通过下载插件的方式扩展Maven的功能,这也是Maven设计的一个哲学。
下载插件的方式可以是Maven自己去查找,也可以是我们去配置,如果我们要配置插件,是在pom.xml文件里面配置。
1.Eclipse有两种clean操作,一种是项目的clean,目的是对编译后的文件进行clean,也就是删除编译后的源代码等文件。2.一种是对Tomcat的clean,是把webapps下面部署后的文件给clean(删除)掉。3.而我们Maven也有clean,是把target(把编译了main和test源代码等资源进行clean删除)目录删除:
清理命令:mvn clean
执行命令后:
过程:Maven的插件去把target目录删除掉的。Maven的插件就是上面这个jar包。
编译命令:mvn compile
编译也是由一个插件实现。maven-compile-plugin.jar。
把项目源代码编译到target的classes文件目录下。
单元测试:mvn test
测试前会执行编译,主程序编译和测试代码的编译。因为测试代码会依赖主程序代码。
单元测试类名有要求:XxxxTest.java结尾。
测试前要进行main和test的编译。编译到target的classes目录下。
打包:mvn package
会根据pom.xml文件里面的配置,判定项目是java普通项目还是java web项目,而后给你打包成jar包还是war包并保存到target目录。
打包之前会执行编译(主程序和测试文件都要编译)测试等操作,然后把主程序打包成目标jar包。
安装:mvn install
应用场景:解决本地多个项目共用一个jar包。
直接把需要的utils的Java普通工程代码打包成jar包发布到仓库里面供其它项目所使用。
package和install命令区别就在于打包后存放的位置不一样,package存放在当前项目的tartget目录下,install把打包后的文件存放在本地仓库里面。
总结:上面我们按照顺序讲了,编译,测试,打包,安装等过程。
1.在我们进行测试的时候进行了进行了main和test的编译
2.在我们打包的时候进行了编译和测试。
3.在我们进行安装的时候,进行了编译测试打包这几个过程。
而这几个过程在Maven程序中叫做Maven程序的生命周期。每个生命周期互不影响。
Maven中存在“三套”生命周期,每一套生命周期互相独立,互不影响。在一套生命周期内,执行后面的命令前面操作会自动执行。
第一套生命周期: - CleanLifeCycle:清理生命周期 命令:mvn clean第二套生命周期: - DefaultLifeCycle:默认生命周期 命令:compile,test,package,install,deploy第三套生命周期: - SiteLifeCycle:站点生命周期 命令:site 说明:会生成一些html页面,页面里面存放着项目依赖jar包等说明。
- Maven初识(三)——Maven的常用命令(插件),生命周期
- Maven生命周期和插件(三)
- 一点一点学maven(04)——maven的生命周期与插件
- maven5—maven的生命周期和插件
- maven的生命周期和插件(九)
- Maven的生命周期和插件(五)
- Maven实践(八)---插件的生命周期
- maven学习笔记三(生命周期与插件)
- 项目管理利器(Maven)——Maven的生命周期
- Maven学习总结(16)——深入理解maven生命周期和插件
- Maven学习总结(16)——深入理解maven生命周期和插件
- Maven学习总结(12)——深入理解maven生命周期和插件
- maven(一)简介、常用命令及生命周期
- Maven之(三)Maven插件
- Maven之(三)Maven插件
- Maven之(三)Maven插件
- Maven之(三)Maven插件
- maven-Maven的生命周期及插件
- 关于matlab GUI重命名的问题。
- 415. Add Strings
- 《Tomcat架构解析》一书出版上市
- C#项目编译报“LC.exe已退出,代码为-1错误”解决办法
- redis 的学习路线
- Maven初识(三)——Maven的常用命令(插件),生命周期
- 【教程】InstallShield使用完全教程
- 解决win7无法更新defender(错误提示无法定义更新)
- swjtu 2385 Maximize The Beautiful Value
- 推荐两款实用的json数据请求及处理插件
- phpStudy出现You don't have permission to access / on this server.
- Python标准模块——argparse
- 移动前端UI框架使用
- C#中StringBuilder类的使用总结