【Maven】IDEA中Maven生命周期
Maven生命周期(lifecycle)由各个阶段组成,每个阶段由Maven的插件plugin来执行完成。
生命周期(lifecycle)主要包括clean、resources、complie、install、pacakge、testResources、testCompile、deploy等,其中带test开头的都是用业编译测试代码或运行单元测试用例的。
最常用的两种打包方法:
(1)clean,package(如果报错,很可能就是jar依赖的问题)
(2)clean,install
9种生命周期:
1 clean
清理,在进行真正的构建之前进行一些清理工作,移除所有上一次构建生成的文件。执行该命令会删除项目路径下的target文件,但是不会删除本地的maven仓库已经生成的jar文件。
2 valitate
验证,验证工程是否正确,所需的信息是否完整。
3 compile
编译源码,编译生成class文件,编译命令,只编译选定的目标,不管之前是否已经编译过,会在你的项目路径下生成一个target目录,在该目录中包含一个classes文件夹,里面全是生成的class文件及字节码文件。
4 test
单元测试,测试。
5 package
打包,将工程文件打包为指定的格式,例如JAR,WAR等。这个命令会在你的项目路径下一个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 build
功能类似compile,只是只对整个项目进行编译。
9 site
站点,生成项目的站点文档。
10 deploy
复制到远程仓库。
build和compile的区别
Compile:只编译选定的目标,不管之前是否已经编译过。
Build:是对整个工程进行彻底的重新编译,而不管是否已经编译过。Build过程往往会生成发布包,这个具体要看对IDE的配置了,Build在实际中应用很少,因为开发时候基本上不用,发布生产时候一般都用ANT等工具来发布。Build因为要全部编译,还要执行打包等额外工 作,因此时间较长。
package、install和deploy的区别
package命令完成了项目编译、单元测试、打包功能,但没有把打好的可执行jar包(war包或其它形式的包)布署到本地maven仓库和远程maven私服仓库。
install命令完成了项目编译、单元测试、打包功能,同时把打好的可执行jar包(war包或其它形式的包)布署到本地maven仓库,但没有布署到远程maven私服仓库。
deploy命令完成了项目编译、单元测试、打包功能,同时把打好的可执行jar包(war包或其它形式的包)布署到本地maven仓库和远程maven私服仓库。
【Maven】IDEA中Maven生命周期相关推荐
- maven详解之生命周期与插件
Maven是一个优秀的项目管理工具,它能够帮你管理编译.报告.文档等. Maven的生命周期: maven的生命周期是抽象的,它本身并不做任何的工作.实际的工作都交由"插件"来完成 ...
- Maven(2)--生命周期以及插件目标
maven的生命周期 maven的生命周期是抽象的,它本身并不做任何的工作.实际的工作都交由"插件"来完成.这种思想和设计模式中的模板方式. maven内置的生命周期: maven ...
- Maven补全之生命周期(Lifecycle)
Maven补全之生命周期(Lifecycle) Maven生命周期基础概念 Maven是基于生命周期构建的,一个Maven项目的构建是已经被清晰定义的过程. 对于我们使用Maven构建项目来说,POM ...
- 第9章 maven的插件和生命周期
第9章 maven的插件和生命周期 本章介绍了maven生命周期.插件以及如何配置插件 9.1 生命周期 一般的项目都会经历这几个步骤:编译,测试,打包,部署,有些公司是手动方式,有些是自动化脚本方式 ...
- [JavaWeb-Servlet]Servlet中的生命周期方法(init,service,destroy)
Servlet中的生命周期方法: @Override public void init(ServletConfig servletConfig) throws ServletException {}1 ...
- java session 生命周期_Java中httpsession生命周期
Java中httpsession生命周期 HttpSession会话范围是某个用户从首次访问服务器开始,到该用户关闭浏览器结束,那么从用户访问到退出浏览器它的生命周期过程如下: 1. 当浏览器A向服务 ...
- Unity中场景生命周期的监听: EditorSceneManager
本文分享Unity中场景生命周期的监听: EditorSceneManager 在Unity开发中, 有时我们需要在场景的某些生命周期时做一些特定的操作, 特别是在Editor模式下的一些工具代码. ...
- Fragment在ViewPager中的生命周期
转载自 hdszlk的博客 原文链接:https://www.2cto.com/kf/201607/530540.html 1.一直以来的疑问 Fragment在ViewPager到底经历了哪 ...
- 小程序中的生命周期有哪些?
一.小程序中生命周期的分类 小程序中的生命周期有以下三种: (1)应用生命周期 小程序的生命周期函数是在app.js中调用,通过App(Object)函数用来注册一个小程序,指定其小程序的生命周期回调 ...
- uni-app中的生命周期方法
uni-app中的生命周期方法 -- 重点面试题 概念:LifeCycle Methods,方法名固定,无需自己调用,到了指定的时刻,会被框架自动调用. 1.应用级生命周期方法(App.vue) - ...
最新文章
- Rabbitmq 消息对列 生产者与消费者的具体实现 springboot
- hive 数据存储格式详解
- 刚刚更新:在线聊天系统设计(原理+思路+源码+效果图)
- 短信网址价值不大不应被热炒
- android 仿360浮动,Android--模仿360底部导航按钮
- webpack打包发布
- NOIP模拟测试24「star way to hevaen·lost my music」
- elementui Cascader 省市区联动选择器,应用与回显
- PowerDesigner如何设计表之间的关联
- c语言标识符的规范,初识C语言-声明和使用变量、标识符的命名规范以及基本数据类型...
- 【完美解决】ds1302外置时钟模块重复初始化时间问题(单片机掉电,模块电池供电)
- Matlab 神经网络工具箱应用
- C# 读取oracle 中文乱码的解决方案
- 复利思维,您做到了吗?
- 多任务情况下各项loss权重平衡的问题
- (排序3)希尔排序时间复杂度与直接选择排序
- A - Portal(cf) 前缀和 区间维护
- 2,4-二硝基苯磺酰基(DNBS)修饰BODIPY染料识别GSH/溶酶体
- 指南解读:急性心力衰竭中国急诊管理指南(2022)
- python做工资条_4种工资条制作方法,总有一款适合你