初识Maven

1. Maven 是什么,有什么作用?

Maven 是Apache组织中的一个开源项目,主要服务于基于java平台的项目构建、依赖管理和项目信息管理。

Maven 是一个项目构建工具,可以帮助我们去管理 jar 包。

它包含一个项目对象模型,一组标准集合,一个项目生命周期,一个依赖管理系统,和用来运行定义在生命周期阶段中插件目标的逻辑。当你使用Maven的时候,你用一个明确定义的项目对象模型来描述你的项目,然后Maven可以应用横切的逻辑,这些逻辑来自一组共享的或者自定义的插件。

Maven的核心其实不用做什么实际的事情。Maven被设计成将主要的职责委派给一组Maven插件,这些插件可以影响Maven的生命周期,提供对目标的访问。绝大多数Maven的动作发生于Maven插件的目标,如编译源码,打包二进制代码,发布站点和其他构建任务。Maven大部分的智能是由插件实现的,而插件从仓库获得。事实上,第一次使用Maven安装运行命令时,它会从中央仓库下载大部分核心Maven插件。它从远程仓库获取依赖和插件的事实允许了构建逻辑的全局性重用。

2. Maven的核心概念?

1)项目对象模型(Project Object Model)

2)坐标(Coordinates)

3)项目生命周期(Project Lifecycle)

4)插件(Plugin)和目标(goal)

5)依赖管理系统(Dependency Management System)    ----   使用坐标来声明依赖

6)仓库管理(Repositories)

3. 什么是项目构建?

流程:编写好源码 → 编译 → 执行(测试、运行) → 打包(war) → 部署 → 运行让客户访问 

4. 流程中涉及到的指令

编译:compile

测试:test

打包:package

清除:clean  会自动清除之前编译过的 class 字节码文件

运行项目:clean tomcat:run

4. 安装 Maven

1)下载地址:https://maven.apache.org/download.cgi

访问该地址后,选择左侧菜单Download  ---->  Files  ----> 选择合适的版本下载  ---> 得到一个压缩文件

2)解压后,打开文件夹下的conf文件夹,编辑conf文件夹下的 settings.xml 文件,设置仓库路径:

<localRepository>D:/soft/repository</localRepository>

这里的D:/soft/repository是自己指定的文件夹(非中文路径),是jar包的存放路径,方便maven管理jar包。

3)配置 MAVEN_HOME,方便使用

操作流程:我的电脑 -- 属性 -- 高级系统设置 -- 环境变量 -- 系统变量 --  新建 -- 填写

【变量名 : MAVEN_HOME  变量值:D:\Maven\apache-maven-3.5.4(变量值是解压缩包的路径)】

--  修改Path的变量值,在内容的最前面加上%MAVEN_HOME%\bin;

4 )采用cmd命令, 测试是否配置成功

Window+R  --->  输入cmd  --->  输入mvn -v 后回车 ---> 如果输出Apache Maven 3.5.4则说明环境配置成功



5. 把 Maven 整合到 Eclipse 中使用

1)eclipes窗口 -- Window - preferences - Maven - User Settings - Global Setting - Browse... - 选择maven解压文件夹下的conf文件夹下的settings.xml 文件 -  打开  - 点击Update Setting按钮 - Local Repository项显示我们设置的jar包管理的路径( 用于关联我们解压编辑后的 settings.xml 文件)

2)选择使用指定的 maven:在上面路径中的 Istallations 中勾选即可。

3)自动关联仓库:window - show view - maven - Maven Repositories 展示窗口 -- 然后选择 Local Repositories 下的 Local Repository,右键 rebuild index 即可。

4)新建Maven工程:file - new Maven Project - 勾上 create a simple project - 填写相关信息

  或者: 右键 - New - Other - 搜索框中输入Maven - 选择Maven Project - Next -  勾上 create a simple project -  Next - 填写Group Id(组织的id 公司域名:比如com.hello) , Artifact Id(工程的名字) , Packaging选择war(pom用于副工程,war为Web应用) - Finish

5)如果创建的是 Web 工程,会出现报错,需要在 webapp 中补上 WEB-INF文件夹和web.xml 文件。

流程: src - main - webapp - 右键 - new Folder - 命名WEB-INF - Finish - 复制web.xml文件Copy到新建的WEB-INF文件夹中

6)如果想修改项目的Maven默认版本为自己配置的版本,则执行以下操作:

Window - Maven - Installations - 点击Add按钮 - 选择maven的解压缩文件夹 - Finish - 勾选新添加的maven选项 - Apply

7) 显示Maven Repositories仓库视图,并把配好的仓库关联过来,操作流程如下:

Show View - Maven - 选择Maven Repositories - Open - 在Maven Repositories视图窗口中,选中Local Repositories - 右键 - Rebuild Index关联

8)如果我们需要添加jsp页面,则需要配置jsp环境:jsp-api.jar 和servlet-api.jar

引入仓库repository压缩包:包含了jsp-api.jar 和servlet-api.jar

解压repository压缩包到我们在Setting.xml中设置的jar包管理的路径中

9)配置jsp或servlet的jar包

  手动配置坐标的方法:到pom.xml中添加jsp的jar包

  <dependencies>

      <dependency>

          <groupId>javax.servlet</groupId>

          <artifactId>jsp-api</artifactId>

          <version>2.0</version>

          <scope>provided</scope>

      </dependency>

  </dependencies>

  界面操作方法使用本地仓库:到Dependencies窗口中添加servlet的jar包

双击pom.xml后在下方选择Dependencies窗口(显示已经配置的jar包环境)

点击Add - 搜索servlet - 选择相关servlet api下的2.5版本 - Ok

注意:界面操作方法完成后,系统会自动在pom.xml文件中生成相关的坐标

10) 创建项目的时候,JRE 默认是 1.5,在pom.xml文件中使用插件更改为当前所需要的jdk环境(以jdk1.8为例)

<build>

    <plugins>

        <plugin>

                <groupId>org.apache.maven.plugins</groupId>

                <artifactId>maven-compiler-plugin</artifactId>

                <configuration>

                    <source>1.8</source>

                    <target>1.8</target>

                    <encoding>utf-8</encoding>

                </configuration>

            </plugin>

        </plugins>

</build>

之后执行操作的流程为:Reflesh 当前项目 - JRE 仍默认是 1.5

接着选中当前项目 - 右键 - Maven - Update Project - 选中项目 - OK -- JRE 更改为 1.8版本

11) 配置阿里云的镜像,下载会更快(settings.xml 文件中,约 146 行)

在maven解压文件夹下的conf文件夹下的settings.xml 文件<mirrors></mirrors>中配置:

<mirror>

          <id>neuxs-aliyun</id>

          <mirrorOf>central</mirrorOf>

          <name>Nexus aliyun</name>

          <url>http://maven.aliyun.com/nexus/content/groups/public</url>

  </mirror>

回到Eclipes中,执行操作的流程为:

Window - preferences - Maven - User Settings - Global Setting - 点击Update Setting按钮

12) 部署运行

项目右键 - Run as -> Maven build... -> 在 Goals 中输入:clean tomcat:run

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

推荐阅读更多精彩内容

  • Spring Boot 参考指南 介绍 转载自:https://www.gitbook.com/book/qbgb...
    毛宇鹏阅读 46,733评论 6 342
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,594评论 18 139
  • 简介 概述 Maven 是一个项目管理和整合工具 Maven 为开发者提供了一套完整的构建生命周期框架 Maven...
    闽越布衣阅读 4,272评论 6 39
  • / 冯骥才 人生入秋,便开始被友人指着脑袋说“:呀,你怎么也有白发了?” 听罢笑...
    JessicaLam阅读 427评论 0 0
  • 现在是2018年,我几乎没办法处在默片诞生那个时代的人们看到荧幕上放映的电影时,是一种怎样的心情。那个时候的电影,...
    分贝块音频阅读 308评论 0 0