目录
一、搭建私服
1.1、搭建私服原因
1.2、nexus软件的安装
1.3、私服的使用
1.4、仓库介绍
1.5、从私服下载资源
1.6、下载失败
1.7、将资源上传到私服
1.7.1 问题
一、搭建私服
1.1、搭建私服原因

公司开发了jar包,可供其他项目组使用、无网络使用依赖
1.2、nexus软件的安装
 

私服配置文件中的端口号:

双击或者鼠标右击,管理员执行

启动成功:
1.3、私服的使用
浏览器输入地址:http://localhost:8081/nexus

用户名:admin
秘密法:admin123
登陆成功
1.4、仓库介绍
私服中仓库类型的介绍:
group:组,所有仓库的入口
hosted:宿主仓库,用于管理非中央仓库的依赖
proxy: 代理,中央仓库的代理
virtual: maven1版本的支持,不用。
仓库介绍:
Public Repositories: 仓库组,所有仓库的统一入口。
3rd party: 宿主仓库,用于存放中央仓库没有并且是第三方公司开发的jar。
Apache Snapshots: 代理仓库,apache仓库的代理
central: 代理仓库,中央仓库的代理
Central M1 shadow : maven1版本的支持,不管
Releases: 宿主仓库,用来存放我们自己开发的依赖的发行版
Snapshots: 宿主仓库,用来存放我们自己开大的依赖的快照版
发行版(正式发布会):解决了快照版出现的bug,不会频繁的更新。
快照版(抢先体验):一些bug,会频繁的更新bug 
仓库类型:

私服中各种仓库 和 仓库之间的关系

快照版和发行版:
1.5、从私服下载资源
演示步骤:
1.删除本地仓库中mysql依赖。
2.修改私服中central代理的远程仓库为阿里云
3.修改maven的settings配置文件中,配置私服为我们自己搭建的私服
4.打开工程,引入被删除的mysql依赖,
1.删除本地仓库中mysql依赖。
 2.修改私服中central代理的远程仓库为阿里云

阿里云私服地址: http://maven.aliyun.com/nexus/content/groups/public
3.修改maven的settings配置文件中,配置私服为我们自己搭建的私服
 4.打开工程,引入被删除的mysql依赖,

 
1.6、下载失败
如果配置了阿里云,也连接了网络,但是就是下载不成功。 
解决:



1.7、将资源上传到私服
第三方宿主仓库 (3rd party)
用于存放阿里云但是是第三方开发的jar包。
演示:
1.自定义一个依赖,打成jar包,代表第三方公司的依赖
2.上传到3rd party
3.开启一个工程,引入这个依赖
4.查看引入情况即可
演示: 1.自定义一个依赖,打成jar包,代表第三方公司的依赖

2.上传到3rd party
 
 

3.开启一个工程,引入这个依赖

4.查看引入情况即可

自定义快照版仓库
演示步骤:
1.自定开启maven工程,编写一个mylist工具类。并且打成jar包
2.在maven工程的settings.xml中配置远程仓库的登录用户名和密码
3.在maven的pom.xml中配置远程仓库的地址
4.deploy命令进行上传
5.再另起工程, 通过坐标引入
1.自定开启maven工程,编写一个mylist工具类。并且打成jar包
 2.在maven工程的pom.xml中配置远程仓库的地址
<distributionManagement>
    <!--当前项目版本后缀为:RELEASES的上传目录-->
    <repository>
        <id>releases</id>
        <name>Internal Releases</name>
        <url>http://localhost:8081/nexus/content/repositories/releases/</url>
    </repository>
    <!--当前项目版本后缀为:SNAPSHOT上传目录-->
    <snapshotRepository>
        <id>snapshots</id>
        <name>Internal Snapshots</name>
        <url>http://localhost:8081/nexus/content/repositories/snapshots/</url>
    </snapshotRepository>
</distributionManagement> 
3.在maven的settings.xml中配置用户名和密码
 <server>
        <!-- 仓库的唯一标识, -->
        <id>snapshots</id>
        <username>admin</username>
        <password>admin123</password>
    </server>
    <server>
        <id>releases</id>
        <username>admin</username>
        <password>admin123</password>
    </server> 

4.deploy命令进行上传
5.再另起工程, 通过坐标引入  
 
1.7.1 问题
问题1:
此处有一个问题:maven命令执行不成功。
因为我们maven的命令是依赖于maven的插件,本地仓库有插件,但是maven会去校验远程仓库是否有对应的插件。很明显,我们远程私服是自己刚搭建的,没有插件,所以命令执行失败。
解决办法:我们先删除本地的一个插件,然后在直接去执行命令,maven会自动校验远程,并且进行下载。
问题2:
pom.xml中配置如下内容
     <repositories>
        <repository>
            <!-- 私服的id -->
            <id>nexus</id>
            <!-- 自己的私服的公共入口 -->
            <url>http://192.168.14.69:8081/nexus/content/groups/public/</url>
            <releases>
                <enabled>true</enabled>
                <updatePolicy>always</updatePolicy>
            </releases>
            <snapshots>
                <!-- 允许从快照版仓库下载资源 -->
                <enabled>true</enabled>
                <updatePolicy>always</updatePolicy>
            </snapshots>
        </repository>
    </repositories> 
自定义发行版仓库


上传成功
 其他公共私服地址
1、http://maven.aliyun.com/nexus/content/groups/public/ 阿里云 (强力推荐)
2、https://mirrors.huaweicloud.com/repository/maven/ (华为云)
3、http://repository.jboss.org/nexus/content/groups/public






















