3.Maven仓库

作者: 落叶飞逝的恋 | 来源:发表于2018-02-03 23:47 被阅读8次

1.概述

    不同的项目依赖的jar有可能一样。这时候为了避免jar重复下载的问题,就产生仓库的概念。这个仓库只保证一个jar,以便供其他项目使用。

在Maven的conf目录的settings.xml自定义仓库地址

<localRepository>/Java_Develop_Environment/Maven/repository</localRepository>

2.仓库布局

    Maven仓库的布局是根据其唯一的坐标进行对应的。

例如下面的坐标在硬盘中的文件路径地址

com/strivelearn/hello/1.0.0

3.仓库分类

    Maven仓库分为两类:1、本地仓库 2、远程仓库

    Maven根据坐标寻找构件的时候,首先先查看本地仓库,如果有,则直接使用。如果没有,则从远程仓库获取。

    Maven还有一种特殊的远程仓库:私服。为了节约带宽和时间,则在局域网内架设一个私有的仓库服务器。用其代理所有的外部远程仓库。国内通常使用阿里云的私服。其中在maven中设置如下镜像

<mirror>
  <id>nexus-aliyun</id>
  <mirrorOf>*</mirrorOf>
  <name>Nexus aliyun</name>
  <url>http://maven.aliyun.com/nexus/content/groups/public</url>
</mirror>

4.本地仓库

    当我们在编写自己项目的时候,我们在执行下面的命令,则就会把自己项目的jar包安装到本地仓库。

mvn clean install

5.远程仓库

    远程仓库包含:1、中央仓库 2、私服 3、其他公共库。

    我们可以通过设置Maven的setting.xml来确认远程仓库地址,如上面在setting文件设置阿里云镜像。又可以在Maven里定义远程仓库地址。

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

6.远程仓库的认证

    大部分远程仓库无须认证,但是有时候出于安全方面的考虑,我们需要提供依认证信息才能访问一些远程仓库。

    配置认证信息和配置仓库信息不同,仓库信息可以直接配置在POM文件中,但是认证信息必须配置在settings.xml文件中。这是因为pom文件往往被提交到代码仓库中供所有成员访问。而setting文件一般只放在本机。因此setting.xml文件中配置认证信息比较安全。

<servers>
    <server>
    <id>deploymentRepo</id>
    <username>repouser</username>
    <password>repopwd</password></server>
</servers>

7.部署到远程仓库

    项目开发完毕,都需要部署到仓库中,供其他团队使用。那么我们就需要将自己的项目包部署到远程仓库。

<distributionManagement>
    <!--发布版本构件的仓库-->
    <repository>
        <id>xxx</id>
        <name>xxx</name>
        <url>xxxx</url>
    </repository>

    <!--快照版本的仓库-->
    <snapshotRepository>
        <id>xxx</id>
        <name>xxx</name>
        <url>xxxx</url>
    </snapshotRepository>
</distributionManagement>

    配置正确后,在命令行运行:

mvn clean deploy

8.镜像

    如果仓库X可以提供仓库Y存储的所有内容,那么可以认为X是Y的一个镜像。也就是任意一个可以从仓库Y获取的构件,都能够从它的镜像中获取。

<mirror>
  <id>nexus-aliyun</id>
  <mirrorOf>*</mirrorOf>
  <name>Nexus aliyun</name>
  <url>http://maven.aliyun.com/nexus/content/groups/public</url>
</mirror>

9.仓库搜索服务

    再使用Maven进行日常开发的时候,通常需要寻找需要的依赖。这时候可以用仓库搜索服务根据关键字得到Maven坐标。在国内能正常打开网址:http://mvnrepository.com/

相关文章

  • 3.Maven仓库

    1.概述 不同的项目依赖的jar有可能一样。这时候为了避免jar重复下载的问题,就产生仓库的概念。这个仓库只保证一...

  • Idea类存在找不到解决办法

    1.刷新maven项目 2.清理idea缓存 3.maven clean install 4.重新bulid 5....

  • Maven

    1.安装maven 2.编译测试 3.maven使用阿里云 4.maven使用私服 5.上线java程序

  • 带你搭建spring-cloud项目 第一话 创建管理maven

    本系统用的工具 1.ide 是 sts4(不限制ide) 2.jdk8 3.maven 3.5.2 (3.3.3以...

  • maven

    1.项目构建工具2.分布式3.maven简介4.新建maven项目5.maven项目目录结构6.maven项目之间...

  • 3.Maven - 配置tomcat自动发布

    参考: Maven创建servlet webapp项目并在Tomcat上部署 Maven学习总结(11)——Mav...

  • 3.maven私服 nexus3 配置

    准备工作nexus安装包鉴于自己什么都喜欢新的,当然下最新版本了 我们将他解压后得到的目录结构是这样的 1.配置环...

  • 【maven】仓库的优先级顺序

    在maven中,仓库可以分为:本地仓库、远程仓库。远程仓库可以分为:中央仓库、私服仓库。中央仓库是maven官方指...

  • git hub fork并同步原始仓库

    origin仓库:fork来源仓库upstream仓库:fork以后的仓库local仓库:下载到本地的仓库 查看当...

  • Git子模块命令

    添加子仓库 子仓库初始化 子仓库更新 子仓库切换分支 子仓库切换版本 子仓库拉取更新

网友评论

    本文标题:3.Maven仓库

    本文链接:https://www.haomeiwen.com/subject/hlvpzxtx.html