eclipse maven打包_Maven中的几个重要概念:lifecycle, phase 和 goal
当我们对一个项目进行打包时,maven分别执行了
验证(validate) ==> 编译源码(compile)
==> 编译测试源码(test-compile) ==> 单元测试(test)
==> 打包(package)
这个过程就是生命周期(lifecycle)。在生命周期的过程中会有很多的阶段(phase),这些阶段按照既定的顺序执行来完成一个项目的构建。
在生命周期中,各个阶段的工作由插件来完成(plugin),一个插件通常可以完成一个或者多个阶段的工作。每个阶段的工作对应插件中的一个目标(goal)。不同的插件结合起来,就完成了政哥项目的构建。
maven的生命周期可以分为三大类
1.Clean Lifecycle :在进行真正的构建之前进行一些清理工作
pre-clean 执行一些需要在clean之前完成的工作
clean 移除所有上一次构建生成的文件
post-clean 执行一些需要在clean之后立刻完成的工作
2.Site Lifecycle :生成项目报告,站点,发布站点
pre-site 执行一些需要在生成站点文档之前完成的工作
site 生成项目的站点文档
post-site 执行一些需要在生成站点文档之后完成的工作,并且为部署做准备
site-deploy 将生成的站点文档部署到特定的服务器上
然后看,最常用,最重要的,名字却不起眼的
3.Default Lifecycle : 构建的核心部分,编译,测试,打包,部署等等
validate 验证工程是否正确,所需的信息是否完整
initialize 初始化构建平台,例如:设置properties或创建目录
generate-sources
process-sources
generate-resources
process-resources 复制并处理资源文件,至目标目录,准备打包
compile 编译源代码
process-classes 源码编译后的后期处理,比如java字节码的增强(优化?)
generate-test-sources
process-test-sources
generate-test-resources
process-test-resources
test-compile 编译测试源代码(默认是test目录下)
process-test-class
test 执行单元测试
prepare-package
package 将工程文件打包为指定的格式,例如JAR,WAR等
pre-integration-test
integration-test 集成测试
post-integration-test
verify 检查package是否有效、符合标准
install 将包安装至本地仓库,以让其它项目依赖。
deploy 将最终的包复制到远程的仓库,以让其它开发人员与项目共享。
上面是对生命周期及生命周期对应的阶段的介绍。下面说明下插件中目标(goal)的查询方式
mvn help:describe -Dplugin=org.apache.maven.plugins:maven-eclipse-plugin:2.10
下面是一个使用了phase和goal的小例子
<plugin><groupId>org.codehaus.mojo</groupId><artifactId>exec-maven-plugin</artifactId><version>1.2.1</version><executions><execution><!-- 绑定到编译的生命周期 --><phase>compile</phase><goals><!-- 执行目标java --><goal>java</goal></goals><configuration><mainClass>x.x.x.HelloWord</mainClass></configuration></execution></executions></plugin>
这个配置会在编译时执行HelloWord类的man方法。
eclipse maven打包_Maven中的几个重要概念:lifecycle, phase 和 goal相关推荐
- eclipse maven打包_Maven 学习
1 Maven 简介 Maven 使用项目对象模型(POM,Project Object Model) 的概念,可以通过一小段描述信息来管理项目的构建.报告和文档的软件项目管理工具 2 Maven 的 ...
- eclipse maven打包_maven的通俗易懂的用法
也许是本人不才,初识Maven时,被各种不明所以的教程搞得一头雾水,而在后来的使用中,我发现Maven大部分功能没有想象的那么困难. 本篇文章面向Maven初学者,希望能让其以最快的速度了解Maven ...
- eclipse maven打包_自动化管理项目,Maven仓库配置、安装和使用
一. Maven有什么作用? 1.让maven仓库自动帮你下载jar包 maven项目会有一个 pom.xml文件, 在这个文件里面,只要你添加相应配置,他就会自动帮你下载相应jar包,不用你铺天盖地 ...
- SpringBoot项目在使用Maven打包war中遇到的问题
问题描述 在使用maven打包(package)springboot项目为war项目后,在本地机器上使用Tomcat跑这个项目,访问资源时出现下面的错误: o.s.b.w.servlet.suppor ...
- eclipse maven打包jar 部分jsp无法访问_Maven系列教材 (九)- 在Eclipse中创建maven风格的java web项目...
Maven系列教材 (九)- 在Eclipse中创建maven风格的java web项目 步骤1:删除j2ee目录步骤2:新建Maven 项目步骤3:这个界面点下一步步骤4: 这个界面使用webapp ...
- eclipse maven打包_我的Java Web之路47 - 使用Maven改造租房网工程
本系列文章旨在记录和总结自己在Java Web开发之路上的知识点.经验.问题和思考,希望能帮助更多(Java)码农和想成为(Java)码农的人. 目录 介绍 原来的租房网工程结构 改造思路 将原有工程 ...
- maven打包 jar中没有主清单属性
找了半天,看别人博客说这样那样设置, 最后 <pluginManagement></pluginManagement> 标签去掉就好了,一般遇到这样的bug 怎么分析这个问题最 ...
- maven 打包报错 surefire-reports for the individual test results.
Eclipse Maven打包报错 [ERROR] [ERROR] Please refer to D:\File\workspace\izh-common-util\target\surefire- ...
- Maven打包报错Unknown lifecycle phase “mvn“. You must specify a valid lifecycle
今天小伙伴问我,他的Idea打包,怎么都打不成功.一只报错: Unknown lifecycle phase "mvn". You must specify a valid lif ...
最新文章
- php数据库字段类型,mysql 字段类型说明
- 二十五、Node中的Buffer缓冲器和EventEmitter事件触发器
- if match header test - 428 Precondition required
- 【Solr】 solr对拼音搜索和拼音首字母搜索的支持
- java中间语言汇编语言_中间语言(IL) | 学步园
- PHP新闻APP,【优速软件】APP/小程序接口:全部新闻列表,POSCMS,CodeIgniter技术文档,PHP开发文档,迅睿CMS框架官方教程...
- 【大数据面试宝典】 第一篇 Hadoop 面试题
- react native与夜神模拟器结合使用运行安卓平台
- 网络管理(课程总结3)Week12 澳大利亚维多利亚大学VIT1104 Computer Networks
- 用Keras和直方图均衡化进行深度学习的图像增强
- python内turtle库应用
- 【学习笔记】彻底删除2345输入法
- Job Shop Schedule 生产调度问题 (一) 简介
- 显示seata连接不上127.0.0.1:2181
- java实现掌阅Ireader签到领取阅饼
- MapGuide的历史
- 单片机 软件延时时间控制
- 概述知识图谱在人工智能中的应用
- Android利用WiFiManager扫描AP列表的实例
- 天津电子计算机职专什么时候开学,2020年开学时间表