Nexus私服简介及搭建(Linux3.62版本)

文章目录

  • 一、Nexus的安装
    • 1、运行程序
    • 2、查看运行日志和初始密码
    • 3、启动配置文件的修改
  • 二、Nexus的使用
    • 1、Nexus使用流程说明
    • 2、库类型说明
      • 2.1、maven-public库配置说明
      • 2.2、maven-central库配置说明
    • 3、用户本地配置使用maven-public库
      • 3.1、禁用了匿名访问,额外需要配置
    • 4、本地用户上传依赖
      • 4.1、配置文件配置
      • 4.2、上传依赖
      • 4.3、依赖版本判断
    • 5、单个jar包,自定义生成依赖
  • 参考文档

一、Nexus的安装

  • linux安装java8,因为nexus的运行需要java
  • 作者把nexus安装在/usr/local/nexus目录下
  • 解压之后会出现nexus-3.62 目录和sonatype-work目录
    Nexus私服简介及搭建(Linux3.62版本)_第1张图片

1、运行程序

  • 作者启动了3分钟,慢慢等待不用着急,没启动起来的时候端口是无法访问的
  • 进入运行目录
cd /usr/local/nexus/nexus-3.62/bin
  • 启动
./nexus start
  • 查看运行状态
./nexus status
  • 查看是否完全运行起来
curl 'localhost:8081'

2、查看运行日志和初始密码

  • 运行日志放在sonatype-work(数据目录)下
cd /usr/local/nexus/sonatype-work/nexus3/log
cat nexus.log
  • 查看初始密码
cd /usr/local/nexus/sonatype-work/nexus3
cat admin.password

3、启动配置文件的修改

cd /usr/local/nexus/nexus-3.62/etc
  • 备份配置文件
cp nexus-default.properties nexus-default.properties.bak
  • 修改配置文件
vim nexus-default.properties

二、Nexus的使用

1、Nexus使用流程说明

  • 用户直接使用的是maven-public库
  • 当maven-puclic库中找不到依赖的时候,会通过maven-central库去远程下载依赖
  • maven-releases,maven-snapshop用户存储用户上传的依赖

Nexus私服简介及搭建(Linux3.62版本)_第2张图片

2、库类型说明

  • proxy:远程代理库
  • hosted:本地上传库
  • group:用户使用库
    Nexus私服简介及搭建(Linux3.62版本)_第3张图片

Nexus私服简介及搭建(Linux3.62版本)_第4张图片

2.1、maven-public库配置说明

Nexus私服简介及搭建(Linux3.62版本)_第5张图片
Nexus私服简介及搭建(Linux3.62版本)_第6张图片

2.2、maven-central库配置说明

Nexus私服简介及搭建(Linux3.62版本)_第7张图片

3、用户本地配置使用maven-public库

  • 去maven的安装目录下,修改 conf\settings.xml 文件
  • 配置 mirror,192.168.19.130是作者服务器ip
	
	<mirror>
	  <id>testid>
	  <mirrorOf>*mirrorOf>
	  <name>Nexus仓库配置name>
	  <url>http://192.168.19.130:8081/repository/maven-public/url>
	mirror>

Nexus私服简介及搭建(Linux3.62版本)_第8张图片

  • 阿里云镜像
	
	<mirror>
	  <id>aliyunmavenid>
	  <mirrorOf>*mirrorOf>
	  <name>阿里云公共仓库name>
	  <url>https://maven.aliyun.com/repository/publicurl>
	mirror>
  • 腾讯云镜像
	
	<mirror>
		<id>nexus-tencentyunid>
		<mirrorOf>*mirrorOf>
		<name>Nexus tencentyunname>
		<url>http://mirrors.cloud.tencent.com/nexus/repository/maven-public/url>
	mirror>

3.1、禁用了匿名访问,额外需要配置

  • 在maven的settings.xml 文件中,servers 标签增加用户名和密码进行认证,这里的id需要和mirror中配置的id一样
<server>
  <id>testid>
  <username>adminusername>
  <password>atguigupassword>
server>

4、本地用户上传依赖

4.1、配置文件配置

  • 必须要在maven中配置账号密码,在settings.xml 文件中servers标签中配置
  • 因为上传必须要拥有权限
<server>
  <id>testid>
  <username>adminusername>
  <password>atguigupassword>
server>
  • pom文件中写入
    <distributionManagement>
        <repository>
            
            <id>testid>
            <url>http://192.168.19.130:8081/repository/maven-releases/url>
        repository>
        <snapshotRepository>
            
            <id>testid>
            <url>http://192.168.19.130:8081/repository/maven-snapshots/url>
        snapshotRepository>
    distributionManagement>

4.2、上传依赖

  • 执行命令
mvn clean deploy -DskipTests

Nexus私服简介及搭建(Linux3.62版本)_第9张图片

4.3、依赖版本判断

  • Maven 仓库分为两种,Snapshot 快照仓库和 Release 发行仓库。
  • Snapshot 快照仓库用于保存开发过程中的不稳定 SNAPSHOT 版本,Release 发行仓库则用来保存稳定的 RELEASE 版本。Maven 会根据模块的版本号(pom.xml 文件中的 version 元素)中是否带有 -SNAPSHOT 来判断是 SNAPSHOT 版本还是正式 RELEASE 版本。带有 -SNAPSHOT 是SNAPSHOT(快照)版本,不带 -SNAPSHOT 的就是正式 RELEASE(发布)版本。
  • 举例讲解
<version>1.0version>  会被上传到maven-releases
<version>1.0-SNAPSHOTversion>  会被上传到maven-snapshots
  • 稳定版本,相同版本号只能发布一次
  • 快照版本相同版本号可以发布多次,Nexus会自动增加一层文件夹带上时间戳,取出的时候会自动选择最新的快照

5、单个jar包,自定义生成依赖

Nexus私服简介及搭建(Linux3.62版本)_第10张图片
Nexus私服简介及搭建(Linux3.62版本)_第11张图片
Nexus私服简介及搭建(Linux3.62版本)_第12张图片

参考文档

  • Nexus私服简介及搭建
  • 尚硅谷老师课件
  • Maven私服仓库配置-Nexus详解

你可能感兴趣的:(个人笔记,java,maven)