Win 10 安装 Maven 与快速使用入门、第三方 Jar 包安装到本地仓库

本文详细介绍Maven的下载、安装、配置流程,包括环境变量设置、本地仓库配置及中央仓库镜像更改。涵盖Maven生命周期、约定规范、坐标概念、仓库管理及常用命令,适合初学者快速入门。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

Maven 下载与安装

Maven 配置(setting.xml)

IDEA 配置 Maven

Maven 项目管理工具概述

Maven 生命周期

Maven 约定/规范

Maven 坐标

Maven 仓库

Maven 常用命令

将第三方 Jar 包安装到本地仓库


Maven 下载与安装

1、官网下载)进入 Maven – Download Apache Maven。(必须先安装1.6及以上版本的 Java JDK)

LinkChecksumsSignature
Binary tar.gz archiveapache-maven-3.6.1-bin.tar.gzapache-maven-3.6.1-bin.tar.gz.sha512apache-maven-3.6.1-bin.tar.gz.asc
Binary zip archiveapache-maven-3.6.1-bin.zipapache-maven-3.6.1-bin.zip.sha512apache-maven-3.6.1-bin.zip.asc
Source tar.gz archiveapache-maven-3.6.1-src.tar.gzapache-maven-3.6.1-src.tar.gz.sha512apache-maven-3.6.1-src.tar.gz.asc
Source zip archiveapache-maven-3.6.1-src.zipapache-maven-3.6.1-src.zip.sha512apache-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、IDEA 常用设置 与 常用操作(二)_蚩尤后裔的博客-CSDN博客_idea设置注释模板

Maven 项目管理工具概述

1、Maven 是 Apache 下的一个顶级项目,官网地址:Maven – Welcome to Apache Maven

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 仓库

Maven 的仓库类型

1、本地仓库
2、远程仓库
    A、maven中央仓库(地址:http://repo2.maven.org/maven2/)
    B、maven私服(如果公司内部仓库)
    C、第三方公共远程仓库(如 apache、alibaba、Spring等等)

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

本地仓库

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

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

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

私服仓库

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

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

中央仓库当 settings.xml 中没有配置镜像地址,最后都找不到时,默认从中央仓库下载:Maven Central Repository Search

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 集成在了工具中,双击即可执行:

将第三方 Jar 包安装到本地仓库

1、有些 Jar 文件(如 Oracle 的 JDBC 驱动)由于许可证等原因,无法存放在公开仓库中。此外,还有一些小型的开源项目,它们没有将自己的构件分发到公共仓库中,也没有维护自己的仓库,无法从公共仓库中获得。若 Maven 项目中需要这些组件,就需要将其下载到本地,然后手动安装到本地仓库,如果是公司内部大家都需要,则部署到 Nexus 私服

2、以 Oracle 的 JDBC 驱动为例,从官网下载好驱动 jar 包到本地后,可以使用以下命令将其安装到本地仓库:

mvn install:install-file -DgroupId=com.oracle.jdbc -DartifactId=ojdbc8 -Dversion=12.2.0.1 -Dpackaging=jar -DgeneratePom=true -Dfile=C:\Users\Think\Downloads\ojdbc8.jar

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

蚩尤后裔-汪茂雄

芝兰生于深林,不以无人而不芳。

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值