Idea 里面的Maven Lifecycle 各个阶段的含义

idea maven下面的lifecycle如图所示:

每个命令的详细作用:

(1)clean

翻译:打扫清理,最直接的就是作用于橙色的target目录。在进行真正的构建之前进行一些清理工作,移除所有上一次构建生成的文件。执行该命令会删除项目路径下的target文件,但是不会删除本地的maven仓库已经生成的jar文件。

清理前:

 清理后:

 (2)validate:翻译:验证。验证工程正确性,所需信息完整否。

(3)compile

翻译:编译。大伙都知道java的识别文件是.class,编译生成class文件,编译命令,只编译选定的目标,不管之前是否已经编译过,会在你的项目路径下生成一个target目录,在该目录中包含一个classes文件夹,里面全是生成的class文件及字节码文件。与build区别:只编译选定的目标,不管之前是否已经编译过。

编译前(清理后):

编译后:

 (4)test:翻译:测试。单元测试。

(5)package

翻译:打包。将工程文件打包为指定的格式,例如JAR,WAR等(看你项目的pom文件,里面的packaging标签就是来指定打包类型的)。这个命令会在你的项目路径下一个target目录,并且拥有compile命令的功能进行编译,同时会在target目录下生成项目的jar/war文件。如果a项目依赖于b项目,打包b项目时,只会打包到b项目下target下,编译a项目时就会报错,因为找不到所依赖的b项目,说明a项目在本地仓库是没有找到它所依赖的b项目,这时就用到install命令。

打包前

 打包后:

(6) verify:翻译:核实。主要是对package检查是否有效、符合标准。

(7)install

翻译:安装。将包安装至本地仓库,以让其它项目依赖。该命令包含了package命令功能,不但会在项目路径下生成class文件和jar包,同时会在你的本地maven仓库生成jar文件,供其他项目使用(如果没有设置过maven本地仓库,一般在用户/.m2目录下。如果a项目依赖于b项目,那么install b项目时,会在本地仓库同时生成pom文件和jar文件,解决了上面打包package出错的问题)。

 

(8)site:翻译:站点。生成项目的站点文档。

(9)deploy:翻译:配置部署。复制到远程仓库。

 参考文献:https://www.cnblogs.com/minblog/p/13528167.html

 

原文地址:https://www.cnblogs.com/luckyplj/p/15505264.html