centos7搭建nexus3私库

centos7搭建nexus3私库。用于maven包下载,docker镜像上传下载。本文介绍nexus3安装启动,并配置maven。

1. nexus3需要jdk环境

关于centos7jdk安装可参考Centos7 配置基础JAVA开发环境

2. nexus3包下载

可在官网进行下载,作者在官网下载很慢。下载了一份放在网盘供使用者进行下载百度网盘 提取码: m62u。
网盘失效也可在csdn中资源中下载

3. 上传解压

  1. 文件上传至服务器 作者位置(/opt/nexus3)
  2. 文件进行解压
cd /opt/nexus3
tar -zxvf nexus-3.18.1-1.tar.gz

解压后存在两个目录, nexus-3.18.1-01为nexus启动配置等文件,sonatype-work资源目录,包括日志等。

  1. nexus-3.18.1-01 重命名
mv nexus-3.18.1-01 nexus
  1. 进入nexus bin目录,修改启动文件
cd nexus/bin
vim nexus

若vim命令不存在可替换 vi 或进行安装

yum install vim -y

将第14行 INSTALL4J_JAVA_HOME_OVERRIDE 变量赋值jdk所在目录
centos7搭建nexus3私库_第1张图片

  1. 保存后退出, 回到nexus安装目录
cd /opt/nexus3

4. 启动服务

  1. 编写启动服务
vim enable-nexus

#! /bin/bash

cat < nexus.service
[Unit]
Description=nexus service
After=network.target

[Service]
Type=forking
ExecStart=/opt/nexus3/nexus/bin/nexus start
ExecStop=/opt/nexus3/nexus/bin/nexus stop
User=root
Restart=on-abort
LimitNOFILE=65536

[Install]
WantedBy=multi-user.target
EOF

sudo mv nexus.service /usr/lib/systemd/system/
  1. 文件给与执行权限, 并执行
chmod +x enable-nexus
./enable-nexus
  1. 启动nexus服务,并查看状态
systemctl start nexus
systemctl status nexus

看到以下状态则nexus启动成功
centos7搭建nexus3私库_第2张图片

  1. 查看nexus日志
    日志存放在 sonatype-work/nexus3/log 下
tail -f /opt/nexus3/sonatype-work/nexus3/log/nexus.log

看到日志有以下内容则nexus启动成功, 可进行 http://ip:8081进行访问。
默认端口8081, 若端口冲突可在 /nexus/etc/nexus-default.properties 配置文件中进行修改
centos7搭建nexus3私库_第3张图片

  1. 本次启动nexus并未使用证书等做安全验证

5. 初始简单配置

  1. 登录, 用户名admin, 密码存在提示的文件中。
    填写密码后会提示重置密码, 可自行输入密码保存即可
cat /opt/nexus3/sonatype-work/nexus3/admin.password 

centos7搭建nexus3私库_第4张图片

  1. 配置maven相关
    centos7搭建nexus3私库_第5张图片

  2. 选择mavne相关 hosted, proxy, group
    centos7搭建nexus3私库_第6张图片

  3. 选择maven2(hosted)创建release库
    centos7搭建nexus3私库_第7张图片

  4. 选择maven2(hosted)创建snapshot库
    centos7搭建nexus3私库_第8张图片

  5. 选择maven2(proxy), 代理地址可选用不同地址。作者选择阿里地址

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

centos7搭建nexus3私库_第9张图片

  1. 选择maven2(group) 建立分组
    centos7搭建nexus3私库_第10张图片

6. 配置maven setting.xml 文件

  1. localRepository 配置,本地仓库指向其他本地磁盘
    更改本地仓库地址
  2. servers 私库认证信息
    centos7搭建nexus3私库_第11张图片
  3. mirrors 设置,需要注意端口号
  
  
  
	
		nexus
		Nexus Repository
		http://192.168.10.190:8081/repository/my-group/
		*
	


  

centos7搭建nexus3私库_第12张图片

  1. 设置profiles
  
    
      jdk-1.8
        
          true
          1.8
        
      
        1.8
        1.8
        1.8
      
	 

      
      nexus
      
        
          Nexus
          http://192.168.xx.xxx:8081/repository/my-group/
          
            true
          
          
            true
          
        
      
    
  

centos7搭建nexus3私库_第13张图片

  1. 激活配置
   
   
     jdk-1.8
     nexus
  

激活配置

7. 在项目中使用

  1. 在项目parent pom.xml下配置以下内容
    
        
            
            my-release
            
            http://192.168.xx.xxx:8081/repository/my-release/
        
        
            my-snapshot
            
            http://192.168.xx.xxx:8081/repository/my-snapshot/
        
    


    
        
            
                org.apache.maven.plugins
                maven-compiler-plugin
                
                    1.8
                    1.8
                
            
        
    

centos7搭建nexus3私库_第14张图片

  1. idea 中 File -> settings 配置maven
    centos7搭建nexus3私库_第15张图片
  2. 拉取pom中的jar包
    centos7搭建nexus3私库_第16张图片
    看到以下信息则表示maven可以从nexus中拉取jar包
    拉包成功

8. 出现不同的拉包错误

  1. 提示没有权限, 局域网内可使用该方式

centos7搭建nexus3私库_第17张图片

  1. 出现类似 Could not find artifact xxx 的错误
    1) 可在父工程重新 mvn install
    2) 或删改报错包在本地仓库对应的路径
    3) 如果多次执行仍然报错,可考虑更换代理地址或新增代理地址
http://maven.aliyun.com/nexus/content/repositories/central

4) 初次更新出现问题较多, 查看nexus日志中发现, 有的是因为连接超时jar包不能下载, 或下载缓慢。 都会造成本地拉取jar包出现问题
提供window下批量删除lastUpdated文件可执行文件内容

@echo  off

set REPOSITORY_PATH=D:\java\maven\reports

for /f "delims=" %%i in ('dir /b /s "%REPOSITORY_PATH%\*lastUpdated*"') do (

    del /s /q %%i

)

pause

其中 REPOSITORY_PATH 是maven指向的本地仓库
新建txt文件, 将上述内容赋值, 保存修改文件后缀为.bat。执行文件即可删除maven本地仓库中*.lastUpdated文件。
之后在idea中重新拉取,多次拉取重试后即可。

9. 关于推包

初次推包, 需要在parent工程进行推包
centos7搭建nexus3私库_第18张图片
推动成功后可在nexus my-snapshot中进行查看推送的jar包。团队协同作业可直接在私库拉取对应的jar包即可使用。
centos7搭建nexus3私库_第19张图片
如果出现, jar包更新本地重新拉取没有变更, 可在 File -> settings 搜索maven勾选 Always updates snapshops
centos7搭建nexus3私库_第20张图片

本次安装真实有效, 作者亲试多次编写。

你可能感兴趣的:(nexus3,maven)