目录

Maven 下载与安装

Maven 配置(setting.xml)

IDEA 配置 Maven

Maven 项目管理工具概述

Maven 生命周期

Maven 约定/规范

Maven 坐标

Maven 仓库

Maven 常用命令


Maven 下载与安装

1、官网下载)进入 http://maven.apache.org/download.cgi。(必须先安装1.6及以上版本的 Java JDK)

  Link Checksums Signature
Binary tar.gz archive apache-maven-3.6.1-bin.tar.gz apache-maven-3.6.1-bin.tar.gz.sha512 apache-maven-3.6.1-bin.tar.gz.asc
Binary zip archive apache-maven-3.6.1-bin.zip apache-maven-3.6.1-bin.zip.sha512 apache-maven-3.6.1-bin.zip.asc
Source tar.gz archive apache-maven-3.6.1-src.tar.gz apache-maven-3.6.1-src.tar.gz.sha512 apache-maven-3.6.1-src.tar.gz.asc
Source zip archive apache-maven-3.6.1-src.zip apache-maven-3.6.1-src.zip.sha512 apache-maven-3.6.1-src.zip.asc

apache-maven-3.6.1-bin.tar.gz:Linux 系统版本

apache-maven-3.6.1-bin.zip:Windows 系统版本

2、配置环境变量)Maven 解压后,将 xxx/apache-maven-version/bin 目录添加到系统环境变量 path 中即可。

2、然后命令行中可以输入 mvn -v 命令验证是否安装配置成功。

C:\Users\Administrator>mvn -v
Apache Maven 3.6.1 (d66c9c0b3152b2e69ee9bac180bb8fcc8e6af555; 2019-04-05T03:00:29+08:00)
Maven home: E:\apache-maven-3.6.1\bin\..
Java version: 1.8.0_101, vendor: Oracle Corporation, runtime: D:\Java\jdk1.8.0_101\jre
Default locale: zh_CN, platform encoding: GBK
OS name: "windows 10", version: "10.0", arch: "amd64", family: "windows"

Maven 配置(setting.xml)

1)配置 Maven 本地仓库)Maven下载、配置环境变量后,接下来就是配置 Maven 本地仓库,Maven 管理项目中的 Jar 包,从而不需要再为每个项目都新建 lib 目录,然后反复的导入重复的 Jar 包。

2、找到 .m2 目录: windows 系统中 " C:\Users(用户)\计算机名称\.m2"

如果没有 .m2 目录,则可以在 cmd 中执行命令:mvn help:system

它会让 Maven 执行一个真正的任务,会自动创建出 .m2 目录,以及 repository 子目录,同时会下载依赖,下载中途可以按 ctrl + c 停止下载,因为用不上这个默认的仓库,只需要用到这个 .m2 目录。

3、复制 setting.xml:%Maven_Home%/conf/setting.xml 是 Maven 的核心配置文件,它主要用于配置本地仓库的路径,以及配置中央仓库镜像等。

这个 setting.xml 配置文件可以就放在此 conf 目录下,也可以复制粘贴到 .m2 目录下去。因为 IDEA/Eclipse/STS 默认寻找的是 .m2 目录下的 setting.xml,所以建议复制到 .m2 目录下去;否则需要修改 IDEA 的配置,让其指向此处的 conf 目录下的 setting.xml。

4、配置本地仓库路径:默认 <localRepository>是注释了的,即默认是以 .m2 目录下的 repository 目录作为本地仓库目录的,C 盘作为系统盘,不建议作为本地仓库。新建 F:\mavenRepository 目录,并指定 Maven 本地仓库目录。

2、配置中央仓库镜像)Maven 中央仓库默认在国外,下载依赖的时候难免有些卡顿,但换为国内镜像之后,速度会明显加快,国内支持 maven 镜像的主要有阿里云,开源中国等,下面以使用阿里云镜像为例。

  <mirrors><!-- mirror| Specifies a repository mirror site to use instead of a given repository. The repository that| this mirror serves has an ID that matches the mirrorOf element of this mirror. IDs are used| for inheritance and direct lookup purposes, and must be unique across the set of mirrors.|<mirror><id>mirrorId</id><mirrorOf>repositoryId</mirrorOf><name>Human Readable Name for this Mirror.</name><url>http://my.repository.com/repo/path</url></mirror>--><mirror><id>nexus-aliyun</id><mirrorOf>central</mirrorOf><name>Nexus aliyun</name><url>http://maven.aliyun.com/nexus/content/groups/public</url></mirror></mirrors>

IDEA 配置 Maven

1、https://wangmaoxiong.blog.csdn.net/article/details/80090193

Maven 项目管理工具概述

1、Maven 是 Apache 下的一个顶级项目,官网地址:http://maven.apache.org/

2、Maven 是一个跨平台的项目管理工具,主要用于基于 java 平台的项目构建,依赖管理。

3、Maven 核心功能是项目构建,版本控制,依赖管理。

项目构建

1、安装配置好 Maven 之后,可以用 IDE 来更加轻松的开发 Maven 管理的 Java SE 项目、Java EE 项目。

2、既然是 Maven 管理的 Java SE、Java EE 项目,所以 IDE 新建项目时会与平时略微不同。但是 Maven 项目无论最后是对Java SE 项目导出成 jar 文件,还是对 Java EE 项目 war 包发布到服务器,他们都不会再依赖 Maven,即可执行 jar 可以在任何安装了jdk 环境电脑运行,war 包可以在任何安装了 jdk 环境的服务器上运行。

版本控制 1、项目开发时通常都有不同的版本,如 snapshot(快照版本)、release(发行版)等,只需在 pom.xml 文件中修改 <version>x.x.x-SNAPSHOT</version> 属性值,然后重新打包就能轻松修改。
依赖管理

1、Maven 项目需要使用哪个 jar 包,就在 pom.xml 文件中进行配置,pom.xml 中配置好之后,没有自动下载时,可以点击右上角的“刷新”按钮,Maven 会自动检测本地仓库,如果本地仓库已经有了,则会马上显示在右下角的“依赖面板”

2、如果 Maven 检测到本地仓库没有对应的 jar 包,则立刻从远程的中央仓库进行联网下载,然后再显示在右下角的“依赖面板”

3、当右下角的“依赖面板”出现了 pom.xml 中的 jar 包后,则可以使用它的 API 进行开发了。

4、虽然 Maven 管理的 Java SE 在 pom.xml中 依赖了其它Jar包,但当导出成可执行 jar 文件时,会自动将其依赖的第三方 jar 包从 Maven 本地仓库一并复制导出来,所以导出成功的可执行 jar 文件不会再依赖Maven,它可以放到任何安装了jdk环境的电脑上运行。

6、虽然 Maven 管理的 Java EE 项目在 pom.xml 中依赖了其它 Jar 包,但当发布到服务器时,会自动将依赖的第三方 jar 包从 Maven 本地仓库复制拷贝到服务器项目中,浏览器访问的是服务器发布的项目,服务器已经拥有了所有依赖的jar包,所以同样不用再依赖Maven。

Maven 生命周期

1、下面的开发流程即是 Maven 的生命周期,也是 Maven 命令。

2、“Maven 命令”之所有在 cmd 中或者 IDEA 等编辑器中能够运行成功,其实命令本身也是一个插件:

Maven 约定/规范

1、Maven 之所以可以方便的管理项目,流通于各个 IDE与系统之间,前提是要遵守它的约定(规范)

2、Maven 整个项目结构和普通的稍有不同,必须按如下做出相应微调:

1)src/main/java           存放项目的 java 文件,即项目源码
2)src/main/resources  存放项目的资源文件,如 spring,hibernate 的配置文件、以及各种静态资源,如js、css、图片等
3)src/test/java            存放所有测试的java文件
4)src/test/resources   存放测试用的资源文件
5)target                     项目输出位置
6)pom.xml                 指定项目Jar包坐标

Maven 坐标

1、传统的手工方式是需要 spring 就去 spring 官网下载 spring 的包,需要 mysql 又去 mysql 下载 mysql 的包,Java 构件可能是jar、可能是 war、也可能是其它形式。Maven 提供了统一的规范(坐标)来进行约束,这样能够自动化的去找到并依赖这些构件。

2、Maven 的坐标元素包括 groupId、artifactId、version、packaging、classfier。只要提供正确的坐标元素,Maven 就能找到对应的构件。

3、Maven 首先去本地仓库查找 -> 如果没有,则去远程仓库下载。如果没有配置远程仓库,会默认从中央仓库地址(http://repo1.maven.org/maven2)下载构件。

4、Maven 中央仓库包含了世界上大部分流行的开源项目构件,但也不一定所有构件都有。比如公司内部使用的组件等,此时需要配置私服。

<groupId > :创建项目的组织或团体的唯一 Id.可视为公司名
<artifactId > :项目的唯一 Id, 可视为项目名 .
<version > :产品的版本号
<scope>:为jar包作用范围
<scope> 取值选项可选值如下:
compile 编译范围,默认值,依赖在所有的 classpath 中可用,同时它们也会被打包。用的最多的选项。
provided 已提供范围,表明 de        pendency 由 JDK 或者容器提供。例如如果开发了一个 web 应用,可能在编译 classpath 中需要可用的 Servlet API 来编译一个servlet,
但是你不会想要在打包好的 WAR 中包含这个 Servlet API;因为 Servlet API JAR 由你的应用服务器或者 servlet 容器提供。
已提供范围的依赖在编译时(不是运行时)可用,它们不是传递性的,也不会被打包。
runtime 运行时范围,依赖在运行和测试系统的时候需要,但在编译的时候不需要。比如可能在编译的时候只需要 JDBC API JAR,而只有在运行的时候才需要 JDBC 驱动实现。
test 测试范围。依赖在一般的编译和运行时都不需要,它们只有在测试编译和测试运行阶段可用。

Maven 仓库

1、依赖查找顺序:本地仓库—>当前工程 pom.xml 中配置的私服仓库—> setting.xml 中配置的远程仓库(镜像)—>默认的中央仓库。

本地仓库

1、项目中依赖的第三方 jar 包都会自动下载并存放在本地仓库中。

2、自己的项目打包后也会存放在本地仓库中

3、本地仓库位置在 Maven 核心配置文件 settings.xml 中的 localRepository 标签配置,

私服仓库

比如自己公司内部使用的依赖,并不对外开放的,通常都会存储在自己的私服上,当然并一定是内网上,比如一些公司的开发人员在全国,甚至全世界跑的,人家公司的私服就是架在外网上的。

也有一些大公司会自己搭建私服,比如构建 Spring Cloud 项目时,pom.xml 文件就会自动带上 Spring 的私服地址。

中央仓库 当 settings.xml 中没有配置镜像地址,最后都找不到时,默认从中央仓库下载:http://search.maven.org/

2、 如下所示就是新建 Spring Cloud 项目时,pom.xml 中默认配置的 Spring 的私服仓库,<repositories> 与 <dependencies> 标签同级:

    <repositories><repository><id>spring-milestones</id><name>Spring Milestones</name><url>https://repo.spring.io/milestone</url></repository></repositories>

3、常用的还有阿里云的私服仓库:

<repository>  <id>alimaven</id><name>aliyun maven</name><url>http://maven.aliyun.com/nexus/content/groups/public/</url>
</repository>

Maven 常用命令

1、在 cmd 中手动执行这些命令前必须先配置好 Java JDK 环境变量以及 Maven 环境变量。

Maven 命令 描述 (必须是 Maven 项目,且必须在项目根目录下执行,即含pom.xml文件的目录下)
mvn -v 查看 maven 安装信息
mvn -h 查看帮助信息
mvn compile 编译 Java 项目
mvn clean 清理项目缓存,target目录下会全部清除,但是本地仓库下打包好的包不受影响
mvn test 执行项目中测试(test)包下所有测试类中的测试方法,结果中会汇总一共运行的个数,失败个数,错误个数,跳过个数等。测试必须是 Junit ,否则不处理。
mvn package 将项目打包,根据pom.xml文件中的war配置决定打jar包还是war包。未配置时默认为jar包。
mvn install 项目部署安装,会自动存放在本地仓库中,target目录下也会有打好的包。
mvn clean install -DskipTests 先执行 clean ,再执行 install,同时不执行测试用例,但编译测试用例类,生成的 class 文件会到 target/test-classes 下
mvn clean install -Dmaven.test.skip=true 先执行 clean ,再执行 install,同时不执行测试用例,也不编译测试用例类

2、这些命令都被 IDEA 集成在了工具中,双击即可执行:

Win 10 安装 Maven 与 Maven 知识点扫盲相关推荐

  1. win 10 安装robomongo(studio 3T)

    相关资源下载到官网:https://robomongo.org/ 1.如图选择download studio 3T,之所以选择这个而不是robo 3T单纯是因为功能和后期的支持.studio 3T基础 ...

  2. win 10 安装时候无法格式化分区,错误 0x80070057

    @[TOC]win 10 安装时候无法格式化分区,错误 0x80070057 参考: https://www.partitionwizard.com/partitionmagic/windows-co ...

  3. win 10 安装IIS localhost 或 127.0.0.1 出现空白

    今天Win 10 安装 IIS 服务后页面刷新 localhost 出现空白,后查阅多方文档,有的说是重定向,HTTP错误等,实验均不成功,后发现只要勾选静态内容即可.

  4. WIN 10 安装 Hadoop 2.7.7 + Spark 2.4.7 记录

    文章目录 0. 常规解压安装,并添加环境变量 1. 下载并覆盖 bin 文件夹 2. 使VERSION文件的clusterID一致 3. 贴下单机配置 4. 测试 Hadoop 5. 安装Spark ...

  5. Win 10安装Microsoft .NET Framework 3.5

    电脑重新安装系统后,CAD2007突然安装不上了,Win 10系统,64位,提示需要NET Framework 3.5,折腾了好长时间,记录一下过程. 准备工作:先下载两个文件"dotNet ...

  6. Maven 私服 Nexus Win 10 安装与快速使用入门

    目录 Nexus 私服概述 Nexus 私服下载 与 Win10 安装 Nexus 仓库分类与属性 Nexus 仓库对应的磁盘存储路径 将本地组件上传发布到私服 从私服下载组件到本地仓库 将第三方 J ...

  7. Windows(win)10安装JDK并配置环境变量(附网盘下载地址)

    一.首先咱们先获取JDK8的安装包 1.可以直接去oracle官网获取JDK:https://www.oracle.com/technetwork/java/javase/downloads/inde ...

  8. Win 10 安装detectron2 详细手册

    参考这篇编译成功: win10下 安装 Detectron2(0.4) (VS2019 + cuda11 + pytorch1.8)_J.-CSDN博客_win10安装detectron2 vs201 ...

  9. Docker Win 10 安装

    最近了解了一下Docker,不看不知道,一了解就完全被它给吸引住了.以往要装个环境,除了要准备一个Linux系统,然后在安装各种版本的类库,再安装我们需要各种应用服务(如Redis,Ngix,Mong ...

  10. win 10 安装单点Spark+Hadoop+Python环境

    软件版本 python 3.6.8 下载网址 java 1.8.0_221 下载网址 spark-2.4.4-bin-hadoop2.7.tgz 下载网址 hadoop 2.7.6 下载网址 winu ...

最新文章

  1. 数学帅才克莱因及其启示
  2. nsa服务器win7系统,Win7系统访问NAS和Samba服务器失败怎么处理
  3. 单片机小白学步系列(十五) 单片机程序下载失败总结
  4. 使用html5+的plus调起相机拍照,使用canvas压缩图片,转成base64传到后台
  5. .interface文件怎么看啊_【干货】Java关键字合集,看这篇就够了!
  6. jquery ajax返回html乱码解决
  7. 服务器没权限修改,ftp服务器没有修改权限
  8. Linux sed 批量替换多个文件中的字符串【转载】
  9. 初识 Node.js
  10. 安装了Adobe Acrobat却没有pdf虚拟打印机
  11. 我的上岸之旅——深圳工业大学
  12. 语音特征提取(语谱图Spectrogram,Fbank, MFCC, 及其delta-一阶差分)——python代码
  13. 谷歌浏览器(chrome)无法正常打开网页的解决办法
  14. 服务器(CentOS7)配置Jupyter Notebook远程访问
  15. 普陀区科技创新型小巨人企业
  16. 《ROS2机器人建模URDF》8.4控制移动机器人轮子运动
  17. 情人节程序员用HTML网页表白【全屏3D相册】 HTML5七夕情人节表白网页源码 HTML+CSS+JavaScript
  18. 如何安装 ONLYOFFICE Workspace丨安装教程丨使用教程
  19. 【故障解决】ORA-06502错误解决
  20. ICASSP 2019----Deep Speaker Representation Using Orthogonal Decomposition and Recombination for Spea

热门文章

  1. 你的第一个 iOS 应用程序: 100% 的编程方式
  2. [JAVA][Eclipse]JVM terminated. Exit code=13
  3. 图像处理和计算机视觉中的经典论文(转)
  4. 孙鑫VC学习笔记:第十五讲 (二) 线程创建方法
  5. 拓端tecdat|R语言arima,向量自回归(VAR),周期自回归(PAR)模型分析温度时间序列
  6. 拓端tecdat|matlab使用长短期记忆(LSTM)神经网络对序列数据进行分类
  7. 拓端tecdat|R语言动态可视化:制作历史全球平均温度的累积动态折线图动画gif视频图
  8. 权威cpu测试软件,权威CPU测试软件更新 CPU-Z v1.40.5
  9. bind函数怎么用JAVA_面试官:能解释一下javascript中bind、apply和call这三个函数的用法吗...
  10. 如何在云端编译APIcloud代码