CLEAN,PACKAGE,INSTALL和DEPLOY的区别


大家好,我是IT修真院上海分院第02期学员,一枚正直善良的java程序员。

今天给大家分享一下,修真院官网java任务中可能会使用到的知识点:

CLEAN,PACKAGE,INSTALL和DEPLOY的区别

1.背景介绍

maven的用途:

(1)maven是一个项目构建和管理的工具,提供了帮助管理构建、文档、报告、依赖、scms、发布、分发的方法。可以方便的编译代码、进行依赖管理、管理二进制库等等。

(2)maven的好处在于可以将项目过程规范化、自动化、高效化以及强大的可扩展性。

(3)利用maven自身及其插件还可以获得代码检查报告、单元测试覆盖率、实现持续集成等等。

maven的核心概念介绍:

(1)Pom

(2)Artifact

(3)Repositories

(4)Build Lifecycle

(5)Goal

2.知识剖析

maven的生命周期

(1)maven的生命周期就是对所有构建过程抽象与统一。

(2)生命周期包含项目的清理、初始化、编译、测试、打包、集成测试、验证、部署、站点生成等几乎所有的过程。

(3)maven有三套相互独立的生命周期,而初学者一般都会将maven的生命周期看成一个整体。

<1>CleanLifecycle(清理生命周期): 在进行真正的构建之前进行一些清理工作

pre-clean:执行一些需要在clean之前完成的工作

clean:移除所有上一次构建生成的文件

post-clean:执行一些需要在clean之后立刻完成的工作

<2>DefaultLifecycle(部署生命周期):构建的核心部分,编译,测试,打包,部署等等。

compile:编译项目的源代码

test:使用合适的单元测试框架运行测试。

package:将编译好的代码打包成可分发的格式,如JAR,WAR,或者EAR

install:安装包至本地仓库,以备本地的其它项目作为依赖使用

deploy:复制最终的包至远程仓库,共享给其它开发人员和项目

<3>SiteLifecycle(生成生命周期):生成项目报告,站点,发布站点。

pre-site:执行一些需要在生成站点文档之前完成的工作

site:生成项目的站点文档

post-site:执行一些需要在生成站点文档之后完成的工作,并且为部署做准备

site-deploy:将生成的站点文档部署到特定的服务器上

3.常见问题

(1)maven package install deploy区别

(2)mvn clean install 与 mvn install 的区别

4.解决方案

(1)问题一

maven package:打包(jar等)到本项目的target下

maven install:把target下打的包(jar等)安装到本地仓库,可以供其他项目使用

maven deploy:将打包的文件发布到远程参考,提供其他人员进行下载依赖

(2)问题二

用mvn install后,新改的内容不生效,一定要后来使用mvn clean install 才生效。

maven在执行一个生命周期的命令的是时候将会执行之前的所有生命周期操作,比如执行mvn install,会执行前面一系列的动作包括 compile , package , test 等。而执行mvn package 会调用 maven-jar-plugin 这个插件进行打包,理论上来讲不做mvn clean得到的jar包应该是最新的,然而在打包结束后修改了代码内容,导致打出来的jar包没有更新,从而没有生效,所以使用mvn clean install对target文件清除后再进行打包。

5.编码实战

pom文件的组成以及命令实现后的目录

6.扩展思考

       有时候会根据需求,要跳过某些阶段。比如有时在打包过程中由于单元测试中任何一条没通过,maven就会终止后续的工作,所以这个时候我们需要跳过测试阶段。

        一般是通过-skip的命令来跳过单元测试。

7.参考文献

参考一:http://www.trinea.cn/android/maven/ 【1】Maven介绍,包括作用、核心概念、用法、常用命令、扩展及配置

参考二:http://blog.csdn.net/moshenglv/article/details/52027085 【2】maven的生命周期

8.更多讨论


maven的核心概念_腾讯视频

问:<packing>标签里面默认是jar,也可以是war,那可以是pom么?

答:使用maven进行模块划分管理,一般都会有一个父级项目,pom文件除了GAV(groupId, artifactId, version)是必须要配置的,另一个重要的属性就是packing打包类型,所有的父级项目的packing都为pom,packing默认是jar类型,如果不作配置,maven会将该项目打成jar包

问:maven的设计理念是什么?

答:maven的设计哲学是Convention over configuration(惯例先于配置)

 在设计之初,maven就确定了三个常见的工作流程,流程固定,流程节点可配置。

问:介绍下settings.xml

答:settings.xml对于maven来说相当于全局性的配置,用于所有的项目。在maven2中存在两个 settings.xml,一个位于maven2的安装目录conf下面,作为全局性配置。对于团队设置,保持一致的定义是关键,所以 maven2/conf下面的settings.xml就作为团队共同的配置文件。保证所有的团队成员都拥有相同的配置。当然对于每个成员,都需要特殊的 自定义设置,如用户信息,所以另外一个settings.xml就作为本地配置。默认的位置为:${user.dir} /.m2/settings.xml目录中(${user.dir} 指windows 中的用户目录)。

PPT戳这

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 211,884评论 6 492
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,347评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 157,435评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,509评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,611评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,837评论 1 290
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,987评论 3 408
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,730评论 0 267
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,194评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,525评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,664评论 1 340
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,334评论 4 330
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,944评论 3 313
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,764评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,997评论 1 266
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,389评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,554评论 2 349

推荐阅读更多精彩内容