学习尚硅谷老师讲的Maven工具,以及看了网友资料,随手整理了一部分。

1、Maven是什么?

Maven是一款服务于Java平台的自动化构建工具。Maven 作为 Java 项目管理工具,它不仅可以用作包管理,还有许多的插件,可以支持整个项目的开发、打包、测试及部署等一系列行为。

传统工程我们直按把jar包放置在项目中, Maven工程真正的jar包放置在仓库中,项目中只用放置jar包的坐标。不使用Maven工具,当做 Java 项目需要第三方依赖包时,将别人打好的 Jar 包下载到本地,然后手动指定给项目。另外,比如版本控制,需要新版本怎么办,重新下载,重新指定,这个过程操作麻烦。而用了 Maven 之后,需要什么包,直接在 pom.xml 中添加几行 xml 代码(添加所依赖jar包的坐标),指定包名、版本等,就可以了,方便开发。

2、仓库

(1)仓库的分类

本地仓库:当前电脑上部署的仓库,为当前电脑上所有的Maven工程服务。

远程仓库:

[1]私服:架设在当前局域网环境下,为当前局域网范围内的所有Maven工程服务。

[2]中央仓库:架设在Internet上,为全世界的所有Maven工程服务。

[1]中央仓库的镜像:架设在各个大洲,为中央仓库分担流量。减轻中央仓库的压&emsp&emsp力,同时更 快响应用户请求。

(2)仓库中保存的内容:Maven工程

[1] Maven自身所需要的插件。

[2] 第三方框架或工具的jar包(最早也是Maven工程的形式,只不过是打包成了jar包)。

[3] 我们自己开发的Maven工程(也可以放入本地仓库)。

注意:第一方是JDK,第二方是开发人员自己。

3、Maven中的重要配置文件:pom.xml

(1)含义:Project Object Model项目对象模型。

(2)pom.xml 对于Maven工程是核心配置文件,与构建过程相关的一切设置都在这个文件中进行配置。重要程度相当于web.xml对于动态Web工程。

4、坐标

(1)数学中的坐标:

[1] 在平面中,使用X、Y两个向量可以唯一定位平面中的任何一个点

[2] 在空间中,使用X、Y、Z三个向量可以唯一定位空间中的任何一个点

(2)Maven的坐标:使用下面三个向量在仓库中唯一定位一个Maven工程(jar包)

[1] groupid:公司或组织域名倒序+项目名

<groupid>com.atguigu.maven</groupid>

[2] artifactid:模块名

<artifactid>Hello</artifactid>

[3] version:版本

<version>1.0.0</version>

5、Maven的常用命令

(1)执行与构建过程相关的Maven命令,必须进入pom.xml所在目录。与构建过程相关:编译、测试、打包、......

(2)常用命令:

[1] mvn clean:清理(会删除原来编译和测试的目录,即 target目录,但是已经 install到仓库里的包不会删除)

[2] mvn compile:编译主程序 (会在当前目录下生成一个 target里边存放编译主程序之后生成的字节码文件)

[3] mvn test-compile:编译测试程序(会在当前目录下生成一个 target,里边存放编译测试程序之后生成的字节码文件)

[4] mvn test:执行测试(会生成一个目录 surefire- reports,保存测试结果)

[5] mvn package:打包主程序(会编译、编译测试、测试、并且按照pom.xml配置把主程序打包生成jar包或者war包

[6] mvn install:安装主程序(会把本工程打包,并且按照本工程的坐标保存到本地仓库中)

[7] mvn deploy:部署主程序(会把本工程打包,按照本工程的坐标保存到本地库中,并且还会保存到私服仓库中。还会自动把项目部署到web容器中)

6、Maven依赖范围

Maven是什么?有什么作用?Maven的核心内容简述相关推荐

  1. Maven中scope标签的作用

    目录 1 Maven中依赖作用的范围 2 Scope的常见取值 1 Maven中依赖作用的范围 Maven中使用scope标签来指定当前包的依赖性以及传递性,常见的可选值有:compile, prov ...

  2. Maven学习总结(14)——Maven 多模块项目如何分工?

    2019独角兽企业重金招聘Python工程师标准>>> 一.开场白 使用Maven有段时间了,只能感慨真是个好东西,让我从传统模式体会到了严谨.规范.敏捷.方便的特性. 如果你懂Ma ...

  3. Maven系列(一):maven基础入门

    什么是 Maven? Maven 是一个项目管理工具,它包含了一个项目对象模型 (POM:Project Object Model),一组标准集合,一个项目生命周期(Project Lifecycle ...

  4. Maven实战(四)——基于Maven的持续集成实践

    相信很多读者和我一样,最早接触到持续集成的概念是来自Martin的著名文章<持续集成>,该文最早发布于2000年9月,之后在2006年进行了一次修订,它清晰地解释了持续集成的概念,并总结了 ...

  5. Maven系列(一):Maven简介

    2019独角兽企业重金招聘Python工程师标准>>> Maven是什么? Maven在Apache官网的解释为:Maven是基于项目对象模型(POM即Project Object ...

  6. 【maven】maven是什么?maven安装及idea中使用maven

    目录 1. Maven 入门 1.1 Maven概述 1.1.1 什么是Maven 1.1.2 Maven作用 1.2 仓库 1.3 maven环境搭建 1.3.0 使用前提 1.3.1 下载 1.3 ...

  7. Maven学习笔记,动力节点maven教程随堂笔记(史上最全)

    Maven笔记 这篇笔记的学习视频来自b站动力节点 https://www.bilibili.com/video/BV1dp4y1Q7Hf 笔记中的源码下载地址 动力节点maven资料 第一部分 1. ...

  8. Maven学习总结(6)——Maven与Eclipse整合

    2019独角兽企业重金招聘Python工程师标准>>> Maven学习总结(六)--Maven与Eclipse整合 一.安装Maven插件 下载下来的maven插件如下图所示:,插件 ...

  9. 使用阿里云的maven私服的setting.xml, 提高maven项目jar下载速度

    下载: http://files.cnblogs.com/files/007sx/settings.zip 然后替换自己原本maven的配置文件. 如下载失败,可内容替换: <?xml vers ...

最新文章

  1. 强化学习如何真正实现任务自动化?不妨试试「两步走」策略!
  2. linux 下批量修改文件的编码
  3. 《12个球问题》分析
  4. 【算法数据结构Java实现】递归的简单剖析及时间复杂度计算
  5. 生产者/消费者模式(阻塞队列)
  6. 相同bit1的最大的数
  7. Theano 中文文档 0.9 - 3. Theano一览
  8. 有关linux下find和xargs的使用
  9. 中国捆矛行业市场供需与战略研究报告
  10. 功能设计与交互设计的冲突和融合_邓昆
  11. Xmind模板文档分享——生活计划(3)
  12. Python爬取安居客租房数据,设置排除自己条件以外的数据
  13. 【系统】ThrottleStop软件使用教程入门级,游戏+工作两种解决cpu过热方案
  14. IDEA felix osgi项目搭建(1)
  15. Mybatis关联查询的两种方式
  16. Nginx的http_access_module模块
  17. IOS 实现植物大战僵尸
  18. 如何有效开展小组教学_小学语文教学中如何有效开展小组合作学习
  19. Android9.0中应用如何通过SAF框架写入外置SD卡
  20. 美联储缩表对外汇市场有什么影响?汇友必入区

热门文章

  1. 利用UIBezierPath实现的橡皮筋动画效果(OC版)
  2. 【dxf】(1)dxf 转 geojson
  3. 匠人精神,也许是内卷到极致的自然现象
  4. 百度技术总监谈12306高性能海量并发网站架构设计
  5. 微信公众号支付之openID的获取
  6. 用12306购票所想到的(改善的地方)
  7. c语言createfile函数,c ++ CreateFile函数错误[关闭](c++ CreateFile function error [closed])
  8. python课程水平测试成绩查询_2020年学业水平考试成绩查询入口
  9. 计算机网络课程设计:发送TCP数据包
  10. 计算个人所得税.应交纳税费=应纳税所得金额*适用税率-速算扣除数.应纳税所得金额=个人收入-3500