maven私服配置

一、nexus3简单认识

1、安装步骤略。。。

2、仓库界面用户图

仓库界面.png

用户.png

当然这里我们只关心maven的,也就是前四个。name是仓库名,url是仓库的地址,会在我们的项目pom里被使用到。

3、介绍

  • 1.maven-central:这是maven的中心仓库,nexus这里只是做一个代理,最后会转发到maven的central库(可设置代理)


    maven-central.png
  • 2.maven-public:这是一个仓库组,访问这个仓库组的地址其实会访问组内所有仓库
    我们可以在配置页面看到这个public的仓库组的配置,默认是包含了members指定的三个仓库。所以在pom中使用这个仓库组的url时,实际上会从members里的所有仓库下载jar包。


    maven-public.png
  • 3.maven-releases:这是nexus提供的一个默认的存放release版本jar包的仓库。

  • 4.maven-snapshots:这是nexus提供的一个默认的存放snapshot版本jar包的仓库。

  • 仓库的属性可以控制只存放snapshot或者release版本的jar包;
    当然我们可以不使用这些默认的仓库,自行创建。

4、仓库类型

仓库类型.png

这里可以看到nexus可以支持很多种仓库,只看maven,其实就只有三种:

  • proxy 就是代理类,负责转发,比如之前的maven-central;

  • hosted 就是我们常用的存放jar包的仓库,可以选择jar包的类型,release,snapshot或者mixed;

  • group 可以包含多个仓库,比如之前的maven-public;

以上就是nexus3的大致使用方式,具体的可以自行了解,比较简单。

二、局部配置

1、上传jar认证配置

上传jar包需要认证,maven的认证是在.m2/settings.xml或自己的settings.xml的maven里servers标签下配置的。

  <servers>
    <server>
        <id>release_user</id>
        <username>test-admin</username>
        <password>123456</password>
    </server>
    <server>
        <id>snapshot_user</id>
        <username>test-admin</username>
        <password>123456</password>
    </server>
    
    <server>
        <id>snapshot_anonymous_user</id>
        <username>anoy-user</username>
        <password>123456</password>
    </server>
  </servers>

这里配置三个用户,一个部署release类型jar包的,一个是部署snapshot类型jar包的,一个是snapshot_anonymous没有上传权限
id用于唯一指定一条认证配信息,之后会在pom中使用。

2、上传jar工程的pom文件配置

    <distributionManagement>
        <repository>
            <id>release_user</id>
            <name>Release Deploy</name>
            <url>http://localhost:8081/repository/maven-releases/</url>
        </repository>
        <snapshotRepository>
            <id>snapshot_user</id>
            <name>Snapshot Deploy</name>
            <url>http://localhost:8081/repository/maven-snapshots/</url>
        </snapshotRepository>
    </distributionManagement>

这里配置了上传的url,具体的url可以在nexus的仓库浏览界面下点击仓库的url copy获得。使用刚才的两个认证信息,把jar包存在nexus提供的默认仓库下。这里的id对应了setting.xml里配置的server.id信息name随意

mvn clean deploy 部署到nexus上。(默认在版本名称后加-SNAPSHOT是发到快照版仓库,不加发到发布版仓库)

3、下载jar工程的配置文件

    <repositories>
        <repository>
            <id>nexus-public</id>
            <name>Nexus Public</name>
            <url>http://localhost:8081/repository/maven-public/</url>
            <releases>
                <enabled>true</enabled>
            </releases>
            <snapshots>
                <enabled>true</enabled>
            </snapshots>
        </repository>
    </repositories>

由于之前已经将两个仓库(releases、snapshots)加入到public组中,所以我们直接使用public仓库组的url下载。

三、全局配置

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 首先私服是一种衍生出来的特殊的Maven远程仓库,构建私服的好处请看3.5私服 可以帮助大家建立私服的仓库管理软件...
    zlcook阅读 10,633评论 0 32
  • 目前版本已经更新到了3.X下载地址:https://www.sonatype.com/download-oss-s...
    yunqing_71阅读 2,378评论 0 0
  • 在 Maven 的术语中,仓库是一个位置(place)。Maven 仓库是项目中依赖的第三方库,这个库所在的位置叫...
    41uLove阅读 7,111评论 2 3
  • 逅弈 转载请注明原创出处,谢谢! 以前的日子 以前我们写代码时,jar包都默认放在一个叫 /lib 的目录下,然后...
    逅弈阅读 2,938评论 3 45
  • 1.加载 mat 文件,文件自动保存为名为 seglistall 的 cell 数据 2.行数太多了,将其转化为 ...
    谢小帅阅读 8,147评论 0 0