04|第四课:Maven依赖问题

一、历史回顾

(一)、关于jar管理和依赖的回顾

知识图

(二)、私服(nexus 通过这个软件来搭建)

假如有一个公司,每个开发者本地仓库,太浪费了。在公司范围内,只搭建一个仓库,将Jar包都放入私服里面去。以后例如张三去寻找一个Jar,第一步先去本地库找,如果存在就直接使用,否则就去私服去下载,如果私服还是没有,再去中央仓库去下载,多了这么一个步骤。这样做有个好处,比如commons-logging.jar。张三下载到私服后,以后其他人再用,就不用中央仓库去下载了。

在原有的层次上多了私服

二、Maven依赖

(一)、依赖

A jar ---> B jar,通过<dependency>来实现依赖,如下图所示:

依赖代码实现

(二)、Maven依赖的范围(依赖的有效性)

依赖的范围标签<scope>,依赖的范围分别是:compile(默认)、test 、provided。如下图所示:

依赖的范围

Maven在编译(主程序)、测试、运行项目时,各自使用一套classpath。

1、compile:项目在编译、测试、部署的时候,都可以看到这个依赖。

2、test:项目只有在测试的时候,可以拿到jar包。因为编译和运行的时候,根本不需要测试的jar包的。

3、provided:项目只有在开发和测试的时候使用,在运行的时候就不使用了。经典的例子:servlet-api.jar就是编译和测试使用,在运行的时候是在Tomcat运行,Tomcat容器自带了servlet-api.jar。所以运行的时候,就不需要引入了。

依赖的范围图解

三、Eclipse中配置Maven及搭建运行第一个Maven项目

(一)、配置Maven(不使用Eclipse自带的)

1、选择Windows ---> Perferences,搜索“Maven”,在选择“Installations”--->“Add”。

操作1

2、选择本地的Maven的安装目录,点击“Finish”。

操作2

3、在选择自己的Maven,如下图所示:

操作3

4、点击“User Settings”,在右边的信息中选择本地Maven的“settings.xml”的文件中设置的本地仓库。

操作4

5、最后点击“Apply” ---> “OK”。

(二)、Eclipse中构建Maven项目

1、new ---> Maven Project,在弹出的对话框中勾选“Create a simple project (skip archetype selection)”,然后点击“next”。

操作步骤一

2、然后填写“Group Id” ---> “Artifact Id” ---> “Version”后,选择“Packaging”如果是Java项目就选jar,如果是Web就选war。直接点击“Finish”。

操作步骤二

3、Maven项目创建完毕。下面简单介绍

结构简单介绍

(三)、运行Maven的项目

1、将上一讲的代码拷贝到对应main和test中,设置“pom.xml”对测试包的依赖。

2、对着Maven项目右键--->Maven--->Update Project。

3、执行Maven ---> 对着pom.xml右键 ---> Run As ---> Maven Build...,这个时候弹出一个对话框,然后在“Goals”中,输入要执行的动作“clean”。

运行pom.xml

4、执行Maven ---> 对着pom.xml右键 ---> Run As ---> Maven Build,这个会执行上一次的执行操作。

四、Maven的生命周期

例:

具体操作:执行Maven ---> 对着pom.xml右键 ---> Run As ---> Maven Build...,这个时候弹出一个对话框,然后在“Goals”中,输入要执行的动作“package”。

package:::

resources

compile 

test

package

生命周期和构建的关系:a  b  c  d  e

如果执行了c,那么a 以及 b都要执行,那实际执行的就是a b c。


结论:如果执行了偏后的命令,那之前的命令也会执行

声明周期包含的阶段:3个阶段

clean lifecycle :清理

        pre-clean      clean      post-clean

default lifecycle:默认(常用)

site lifecycle:站点

        pre-site      site      post-site      site-deploy

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

推荐阅读更多精彩内容

  • Maven的基本了解 什么是Maven? Maven就是Apache下的一个开源项目。它是用纯java开发的。是一...
    Bcome阅读 2,825评论 0 7
  • 所有项目的构建都是有生命周期的,这个生命周期包括:项目清理、初始化、编译、测试、打包、集成测试、验证、部署、站点生...
    zlcook阅读 2,773评论 0 21
  • |-1-更新内容[6.从仓库解析依赖的机制(重要)] 1Maven仓库作用 仓库用来存储所有项目使用到构件,在ma...
    zlcook阅读 6,064评论 0 25
  • 1.编写POM Maven项目的核心文件是pom.xml,POM(Project Objcet Model)项目对...
    zlcook阅读 5,910评论 7 26
  • 昨天下午儿子玩游戏的时候我问他去看电影吗,有一部新的电影儿子早就说想去看,儿子说去并要求招呼着我朋友的儿子...
    土木花阅读 71评论 0 2