搭建自己的maven库---nexus

一、安装nexus

linux环境下,我是在虚拟机中搭建的Centos7。

1、docker下安装

基于docker-compose的搭建,docker-compose.yml内容:

version: '3.1'
services:
  nexus:
    restart: always
    image: sonatype/nexus3
    container_name: nexus
    ports:
      - 80:8081
    volumes:
      - ./data:/nexus-data

编辑好docker-compose.yml后,注意端口时候被占用,

启动:

在当前目录启动(守护模式启动):

docker-compose up -d

查看启动日志:

docker-compose logs -f

2、安装包安装

下载安装包:

可以去官网下载最新发布版本。

下载安装包:https://pan.baidu.com/s/1LjwzEax71H6emkUL3uZRcw

将安装包上传到对应的虚拟机中,解压安装包:

tar -xzvf nexus-3.9.0-01-unix.tar.gz

可以在nexus-default.properties文件中(位于/nexus-3.9.0-01/etc/目录下)修改WEB访问端口等信息,默认为8081端口;
检查防火墙是否开启,如果开启,则需要对8081端口放行:

## 查看防火墙状态
systemctl status firewalld.service

## 开放8081端口命令  
firewall-cmd --zone=public --add-port=8081/tcp --permanent  

启动nexus:

##  进入到bin目录
cd nexus-3.9.0-01/bin

#执行命令
./nexus run 

二、配置nexus

1、登录nexus管理页面

进入nexus管理页面,http://IP:8080
旧版本的nexus的默认用户名和密码:

用户名:admin

密码:admin123

如果你安装的是新版本的nexus,默认密码存在

/opt/sonatype/sonatype-work/nexus3目录下寻找admin.password文件,如果你是在docker中,需要进入容器中:

# 进入容器
docker exec -it 容器id

#进入对应的目录
cd /opt/sonatype/sonatype-work/nexus3 

#查看当前目录下的文件
ls -al

#查看文件内容
cat admin.password 

拿到密钥,例如:25b32353-f0da-4b48-966c-84d1c0eb64ad   ,登录成功后,会让你重置密码。我在这里设置了密码为:admin123

2、创建代理仓库(阿里的库)

配置一个代理库,代理到阿里的中央仓库,当使用到自己仓库中没有的依赖时,去阿里的库寻找。阿里库地址:

http://maven.aliyun.com/nexus/content/groups/public/

注意其中的库的顺序,从上到下,也是找依赖的顺序。找依赖包的流程: 首先在本地仓库中找,如果没命中,那么就找远程私服;远程私服的查找规则同样是先找host属性的私有库,然后再去找proxy属性的远程仓库;可以配置多个proxy;

三、在项目中使用Nexus

1、只在当前项目中中使用Nexus

在pom.xml中加入配置:

将复制的库地址将下面的地址替换:

    <repositories>
        <repository>
            <id>nexus</id>
            <name>Spring Milestone</name>
            <url>http://47.xxx.xxx.xxx:8081/repository/maven-public/</url>
            <snapshots>
                <enabled>true</enabled>
            </snapshots>
            <releases>
                <enabled>true</enabled>
            </releases>
        </repository>
    </repositories>

2、全局配置(不需要每个项目都在pom中添加配置)

在maven的setting.xml文件中配置私服配置。

<mirror>
  <id>nexus-myself</id>
  <!--*指的是访问任何仓库都使用我们的私服-->
  <mirrorOf>*</mirrorOf>
  <name>Nexus myself</name>
  <url>http://192.xxx.xxx.xx:8081/repository/maven-public/</url>
</mirror>

3、上传第三方jar包:

原文地址:https://www.cnblogs.com/dingzuoheng/p/12805055.html