Maven仓库 4年前

DevOps
875
Maven仓库

maven仓库分为本地仓库、远程仓库。

项目引用依赖时,先从本地仓库按照坐标查找,如果没有找到则到远程仓库查找,如果还没有就报错。

设定本地仓库

修改setting.xml文件配置,自定义本地仓库路径。本地仓库只有一个。

<localRepository>/path/to/local/repo</localRepository>

设定远程仓库

修改pom.xml文件配置。远程仓库可以有多个。

id为远程仓库的唯一标识,如果将自定义远程仓库id设为central,则会将默认的远程仓库覆盖。

releases表示发布版本构件。

snapshots表示快照版本构件。

enabled开启状态。

updatePolicy表示maven从远程仓库检查更新的频率。

checksumPolicy表示检验设定。如果值为ignore则完全忽略校验和错误。如果值为warn则maven遇到校验和错误就让构建失败。

<repository>
    <id>iSkyCode</id>
    <name>iSkyCode</name>
    <url></url>
    <layout>default</layout>
    <releases>
        <enabled>false</enabled>
        <updatePolicy>daily</updatePolicy>
        <checksumPolicy>ignore</checksumPolicy>
     </releases>
     <snapshots>
         <enabled>false</enabled>
         <updatePolicy>daily</updatePolicy>
         <checksumPolicy>ignore</checksumPolicy>
     </snapshots>
</repository>

免费远程仓库

Sonatype Nexus    repository.sonatype.org

MVNrepository    mvnrepository.com

阿里巴巴    maven.aliyun.com

Jboss    repository.jboss.com

*    maven.ibiblio.org

默认中央仓库

repo1.maven.org

中央仓库认证

认证信息需要配置在setting.xml配置文件中。

<settings>
    <servers>
        <server>
            <id>iSkyCode</id>
            <username>repo-user</username>
            <password>repo-pwd</password>
        </server>
    </servers>
</settings>

发布构件

<distributionManagement>
    <repository>
        <id>iSkyCode-releases</id>
        <name>releases-repo</name>
        <url></url>
    </repository>
    <snapshotRepository>
        <id>iSkyCode-snapshot</id>
        <name>snapshot-repo</name>
        <url></url>
    </snapshotRepository>
</distributionManagement>

镜像

A仓库可以提供B仓库存储的所有内容,则A称为B的镜像。

如果在setting中指定A为B的镜像,则所有B的访问都会被指向A。

mirrorOf指定了镜像的源仓库。

<settings>
    <mirrors>
        <mirror>
            <id>repo</id>
            <name>one of the central mirrors</name>
            <url></urs>
            <mirrorOf>central</mirrorOf>
        </mirror>
    </mirrors>
</settings>

拓展配置

匹配所有远程仓库。

<mirrorOf>*</mirrorOf>

匹配所有远程仓库,使用localhost的除外,使用file://协议的除外。即所有不在本机的远程仓库。

<mirrorOf>external:*</mirrorOf>

匹配多个仓库,使用逗号分隔。

<mirrorOf>repo1,repo2,repo3</mirrorOf>

匹配所有远程仓库,某个仓库除外。

<mirrorOf>*,!repo1</mirrorOf>

注意:仓库设置镜像以后,只会访问镜像仓库。如果镜像仓库停止服务,也不会自动访问被镜像的仓库。

仓库搜索服务

Sonatype Nexus

MVNbrowser

MVNrepository

当卖萌推到了节操
如果能够重生的话,我想,我想成为水母。想成为只是在海里自由地摇摇摆摆的水母。
2
发布数
2
关注者
1442
累计阅读

热门教程文档

PHP
52小节
Golang
23小节
Vue
25小节
爬虫
6小节
Maven
5小节
广告