Maven仓库配置

本文介绍了Maven仓库的配置,包括本地仓库、远程仓库、中央仓库和镜像的使用。强调了Maven仓库的优先级,以及在商业环境中如何配置和使用Maven私服,包括发布项目到私服的步骤。此外,还讨论了如何通过镜像提高依赖下载速度。
摘要由CSDN通过智能技术生成

maven 仓库配置

Maven 仓库分类

  1. 本地仓库
    默认在本机每个用户目录下的仓库,地址为 .m2/repository/,从远程仓库下载的 jar 都会保存在本地仓库中。

  2. 远程仓库
    可以在项目的 pom.xml 文件和 maven 的配置文件 settings.xml 可以配置多个远程仓库。

例如:


    <repositories>
        <repository>
            <id>com.e-iceblue</id>
            <name>e-iceblue</name>
            <url>http://repo.e-iceblue.com/nexus/content/groups/public/</url>
        </repository>
    </repositories>

注意自定义的远程仓库 id 不能和默认的中央仓库重复,即不能为 central,否则会替换中央仓库。

  1. 中央仓库
    maven 默认的中央仓库,但下载速度较慢,可以使用 mirrorOf 镜像标签替换为国内的阿里云仓库。

Maven 镜像

当远程仓库中没有想要的 jar 或者下载速度较慢时,可以考虑使用 mirrorOf 标签来进行远程仓库替换。配置 mirror 之后,将不会从被替换的 repository 仓库下载依赖。

mirrorOf 的替换规则:

external:*   不在本地仓库的文件才从该镜像获取
repo,repo1   远程仓库 repo 和 repo1 从该镜像获取
*,!repo1     所有远程仓库都从该镜像获取,除 repo1 远程仓库以外
*            所用远程仓库都从该镜像获取

注意不要轻易使用 * 进行替换,这将使得所有配置的远程仓库都失效

Maven私服

在商业环境,公司因网络安全,内部项目管理等原因,会自建局域网私服仓库,使用 Nexus repository manager 来进行搭建。

如果仅仅使用 私服 仓库和配置远程仓库是一样,私服仓库也是远程仓库的一种。例如:

<repositories>
      <repository>
            <id>maven-public</id>
            <name>maven-public</name>
            <url>http://nexus.local:32768/repository/maven-public/</url>
            <snapshots>
               <enabled>true</enabled>
            </snapshots>
       </repository>
</repositories>

如果需要向私服仓库发布项目,则需要在 settings.xml 文件中配置用户名和密码:

    <servers>
        <server>
            <id>nexus-releases</id>
            <username>admin</username>
            <password>admin123</password>
        </server>

        <server>
            <id>nexus-snapshots</id>
            <username>admin</username>
            <password>admin123</password>
        </server>
   </servers>

在项目 pom.xml 中配置发布的私服仓库:

<distributionManagement>
        <repository>
            <id>nexus-releases</id>
            <name>maven-releases</name>
            <url>http://nexus.local:8081/repository/maven-releases/</url>
        </repository>
        <snapshotRepository>
            <id>nexus-snapshots</id>
            <name>maven-snapshots</name>
            <url>http://nexus.local:8081/repository/maven-snapshots/</url>
        </snapshotRepository>
</distributionManagement>

Maven 仓库优先级

  1. 本地仓库,即 .m2/repository/ 目录下;
  2. 私服(profile)
  3. 远程仓库(repository)及镜像(mirrorOf)
  4. 中央仓库(central)

Maven仓库理解和优先级
Maven 私服的简单使用

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值