一、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下载。
网友评论