• 实用maven笔记三-仓库


    maven管理依赖的一个很重要的基础在于,其维护了收集大量依赖jar包的仓库。

    maven的仓库分类为本地仓库和远程仓库。

    构件在仓库的路径大致为:groupId/artifactId/version/artifactId-version-classifier.packaging。可通过构件的坐标寻找依赖的路径。

    本地仓库

    本地仓库表示项目代码执行所在的服务器用户下维护的仓库,其默认地址为user/.m2/repository/,可通过修改settings.xml中的localRepository元素修改。

    仓库寻址优先级为本地仓库-远程仓库。当maven在本地仓库中找不到依赖构件时,会进行远程下载。

    可通过maven clean install 将项目输出的jar安装到本地maven仓库。

    远程仓库

    远程仓库又分为私服远程仓库和maven内置的中央仓库。当maven需下载构件时,首先从私服请求,若私服上不存在该构件,则从外部远程仓库下载后缓存至私服,再为maven的下载请求提供服务。

    远程仓库可在settings.xml中配置,示例如下:

    其中,

    1. server用于配置仓库的用户名密码(私服可能需要用),server-id需与repository的id保持一致

    2. mirrors表示仓库的镜像,mirrorOf元素表示配置为某远程仓库的镜像,为远程repository的id,可使用*匹配所有远程仓库。注意当镜像不稳定时会导致maven无法下载构件

    3. repository包含id/name/url/releases/snapshots等元素,id唯一,若重复会被覆盖,Maven自带中央仓库的id为central;url指向仓库地址,基于http协议

    4. snapshot表示快照版本:maven会自动为snapshot版本的构件打上时间戳,该时间戳可保证该版本不断开发更新时,依赖方也能及时找到该版本的最新文件

    可通过mvn clean deploy命令将项目的构建输出文件部署到远程仓库,但部署前需在pom配置被部署的仓库地址,如下图实例:

  • 相关阅读:
    网络流24题
    Preliminaries for Benelux Algorithm Programming Contest 2019
    2019 ICPC Asia Xuzhou Regional
    2019 ICPC Asia Nanjing Regional
    后缀自动机学习
    2018 ACM-ICPC 焦作区域赛 E Resistors in Parallel
    2019 ICPC 上海区域赛总结
    LA 3641 Leonardo的笔记本 & UVA 11077 排列统计
    UVA 10294 项链与手镯 (置换)
    CF 1288 E. Messenger Simulator
  • 原文地址:https://www.cnblogs.com/suntingme/p/10895958.html
Copyright © 2020-2023  润新知