前言想要使用maven搭建项目,但是国内的网络环境可以想象,还有公司自己开发的jar包等问题,所以需要搭建一个maven的私服,这样便于管理。 找了一些教程,顺便记下来,当做笔记。 本文以Windows系统为例。
1. 下载官网: https://www.sonatype.com/ 下载地址: https://www.sonatype.com/nexus-repository-oss 官方文档: https://help.sonatype.com/repomanager3 下载的时候选择Nexus Repository OSS,带Pro的大家都知道,是收费版。 根据自己的系统选择对应版本,支持OS X,Windows,Unix三大系统。 本文选择的是最新版本 nexus-3.12.0-01-win64.zip,地址https://www.sonatype.com/oss-thank-you-win64.zip
最新的3.x版本除了支持maven,还支持Bower,Docker,Git,npm,NuGet等等。
2. 安装安装很简单,直接解压到指定目录就可以,绿色版的,但是Windows用户需注意目录路径不能含有中文,空格等字符。
3. 配置Nexus需要配置的地方不多,但是这个自带jetty,默认端口8081,可能会有端口冲突,找到配置文件修改即可。 进入到nexus安装目录。
# 打开.\nexus-3.12.0-01-win64\nexus-3.12.0-01\etc\nexus-default.properties# Jetty 访问端口,默认是8081application-port=8083# 本机地址application-host=0.0.0.01234564. 启动启动有两种方法,一是直接启动,二是安装成服务。 进入安装目录
C:\Windows\system32>D:
D:\>cd D:\Soft\nexus-3.12.0-01-win64\nexus-3.12.0-01\bin1234直接启动D:\Soft\nexus-3.12.0-01-win64\nexus-3.12.0-01\bin>nexus.exe /run1第一次启动比较慢,等到打印出来下面的内容就启动成功了。
-------------------------------------------------
Started Sonatype Nexus OSS 3.12.0-01
-------------------------------------------------12345这个启动成功之后,直接按enter就可以停止服务。
安装成服务D:\Soft\nexus-3.12.0-01-win64\nexus-3.12.0-01\bin>nexus.exe /install nexusInstalled service 'nexus'.123可以直接在服务里面启动,也可以使用下面的命令启动
D:\Soft\nexus-3.12.0-01-win64\nexus-3.12.0-01\bin>nexus.exe /start nexusStarting service 'nexus'.125. 使用打开 http://localhost:8083/ 点击右上角Sign in,输入账号密码,默认是 admin, admin123。

点击齿轮状按钮,可进入配置页面,进入Repository-Repositories:

Repository的type属性有:proxy,hosted,group三种。
proxy:即你可以设置代理,设置了代理之后,在你的nexus中找不到的依赖就会去配置的代理的地址中找; hosted:你可以上传你自己的项目到这里面; group:它可以包含前面两个,是一个聚合体。一般用来给客户一个访问nexus的统一地址。
简单的说,就是你可以上传私有的项目到hosted,以及配置proxy以获取第三方的依赖(比如可以配置中央仓库的地址)。前面两个都弄好了之后,在通过group聚合给客户提供统一的访问地址。
至于format,因为本文讲的的 Maven Repository ,所以请选择maven2;
你还可以添加一个国内的私有maven库作为代理,避免中央库无法连接,譬如阿里云: http://maven.aliyun.com/nexus/content/groups/public/
系统默认就有以上几个Repository。点击maven-public 确保已经将 maven-central,maven-releases以及maven-snapshots都包含在里面,如果你自己有自定义库,请确保也在里面。

maven-releases : 默认配置只能上传 release版本的项目 maven-snapshots: 默认配置只能上传 snapshots版本的项目 nuget开头的库: .net使用的库,java不用管
如有特殊要求,可以自己创建一个Version policy 为Mixed的Repository。
以上配置就能满足一般需求了。
修改用户密码和添加用户 没能找到用户密码的配置,但是在网页是可以修改的,找到 Security > Users , 点击 Create local user 添加新用户,选择用户,点击 More 可以选择修改密码,需要先输入原密码,验证通过熟人新密码。

6. 使用 mvn deploy 向 Nexus服务器 上传项目首先: maven setting.xml配置<?xml version="1.0" encoding="UTF-8"?><settings>    <localRepository>D:\Soft\apache\maven-repository</localRepository>    <mirrors>        <mirror>            <!--This sends everything else to /public -->            <id>nexus</id>            <mirrorOf>*</mirrorOf>            <url>http://localhost:8083/repository/maven-public/</url>        </mirror>    </mirrors>    <servers>        <server>            <id>nexus</id>            <username>admin</username>            <password>zxm10@</password>        </server>    </servers></settings>12345678910111213141516171819localRepository:本地库的地址
mirror:nexus地址
servers:nexus服务器登录名和密码,server可以配置多个,赋予不同权限,例如Release和Snapshot不同
1. 使用cmd上传mvn deploy:deploy-file -DgroupId=com.cxx -DartifactId=fu -Dversion=1.0.0 -Dpackaging=jar -Dfile=%待上传jar地址% -Durl=http://localhost:8081/repository/maven-releases/ -DrepositoryId=nexus -s %MAVEN_HOME%\conf\settings.xml1参数说明:
-D: 传入指定参数 分别对应pom中的 groupId,artifactId,version,packaging file: 本地jar的路径 url: Repository Url (请选择对应release,snapshots或mixed的url) repositoryId: 对应setting.xml中server id -s: setting.xml的路径(如果使用默认conf中的setting,则无需配置)
2. 使用IDE上传项目中的pom文件添加
<distributionManagement>    <repository>        <id>nexus</id>        <name>Nexus Release Repository</name>        <url>http://localhost:8083/repository/maven-releases/</url>    </repository>    <snapshotRepository>        <id>nexus</id>        <name>Nexus Snapshot Repository</name>        <url>http://localhost:8083/repository/maven-snapshots/</url>    </snapshotRepository></distributionManagement>123456789101112id: 对应setting.xml中server id name: nexus Repository name url: nexus Repository url
需要说明的是,我们在Maven项目的pom.xml文件中 ,如果版本号中含有SNAPSHOT,则会自动发布到Snapshots仓库中,例如:
<groupId>cn.xiweiai</groupId><artifactId>azkaban-app-deployer</artifactId><version>0.0.1-SNAPSHOT</version>123如果将version的值改为不带SNAPSHOT后缀,则会发布到releases仓库中,根据实际需要进行选择。
然后使用IDE自带的Maven deploy就可以了。
3. 使用网页上传选择 方块 > Upload > maven-releases  选择文件,输入对应信息,点击上传即可,上传成功即可查看。

7. 默认存储位置3.x的默认存储变了,原以为下载到本地私服里面的jar包是以.jar格式存储的,就和本地仓储一样,但是用everything搜了半天,没有搜到,查了之后才发现,是以.bytes格式存储的。 存储位置在: 安装目录\sonatype-work\nexus3\blobs

.bytes格式是jar包,.properties格式是jar包信息。  里面存储有下载时间,从哪个中心库下载,下载用户,用户地址,jar包名称,大小等信息。
在页面查看此包:

8. Linux配置下载Nexus Repository Manager软件包:
wget https://sonatype-download.global.ssl.fastly.net/repository/repositoryManager/3/nexus-3.12.0-01-unix.tar.gztar xvzf nexus-3.12.0-01-unix.tar.gz12解压缩后可以看到,生成nexus-3.12.0-01和sonatype-work两个目录:
[root@ali-bj01-tst-cluster-004 nexus]# lsnexus-3.7.0-04  sonatype-work12是这两个目录在同一个目录下,例如我这里是在nexus目录下面。 可以在etc/nexus-default.properties配置文件中,修改对应的配置项,满足实际需要,这里我直接使用默认的,其它可以使用的配置可以参考官网说明。 如果使用自定义的JDK,可以增加如下配置:
export JAVA_HOME=/usr/local/java/jdk1.8.0_144/1启动Nexus Repository Manager,执行如下命令:
bin/nexus start————————————————版权声明:本文为CSDN博主「飞飞1934」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。原文链接:https://blog.csdn.net/chenfei2341/article/details/80431700

Nexus Repository Manager OSS 3.x 安装配置的更多相关文章

  1. Nexus Repository Manager OSS 2 配置阿里云私服做代理的坑

    安装 搭建 Nexus 私服很简单,官网下载,解压: 使用管理员权限打开cmd: > cd nexus---bundle\nexus--\bin > nexus.bat install # ...

  2. Nexus Repository Manager OSS 代理 p2 源

    用maven管理构建Eclipse RCP项目时,可能会用到p2源: http://download.eclipse.org/releases/mars/ 内网用户肯定希望能通过nexus服务器代理, ...

  3. 使用 Nexus Repository Manager 搭建 npm 私服

    目录 环境 下载与安装 添加npm仓库 配置与验证npm仓库 发布自己的包 Nexus开启启动 脚注 环境 windows10(1803) Nexus Repository Manager OSS 3 ...

  4. Nexus Repository Manager 3(CVE-2019-7238) 远程代码执行漏洞分析和复现

    0x00 漏洞背景 Nexus Repository Manager 3是一款软件仓库,可以用来存储和分发Maven,NuGET等软件源仓库.其3.14.0及之前版本中,存在一处基于OrientDB自 ...

  5. Nexus Repository Manager 3 远程命令执行漏洞(CVE-2020-10199、CVE-2020-10204)

    [影响版本] Nexus Repository Manager OSS/Pro 3.x <= 3.21.1 poc地址 https://github.com/magicming200/CVE-2 ...

  6. Nexus Repository Manager 3(CVE-2019-7238) 远程代码执行漏洞复现

    0x00 漏洞背景 Nexus Repository Manager 3是一款软件仓库,可以用来存储和分发Maven,NuGET等软件源仓库.其3.14.0及之前版本中,存在一处基于OrientDB自 ...

  7. Maven私服搭建(Nexus Repository Manager 3)

    下载和安装 下载地址:https://help.sonatype.com/repomanager3/download 注意:Nexus Repository Manager 3是一个Java服务器应用 ...

  8. [转] 使用HTTPS在Nexus Repository Manager 3.0上搭建私有Docker仓库

    FROM: https://www.hifreud.com/2018/06/06/03-nexus-docker-repository-with-ssl/ 搭建方式 搭建SSL的Nexus官方提供两种 ...

  9. 威胁快报|Nexus Repository Manager 3新漏洞已被用于挖矿木马传播,建议用户尽快修复

    背景 近日,阿里云安全监测到watchbog挖矿木马使用新曝光的Nexus Repository Manager 3远程代码执行漏洞(CVE-2019-7238)进行攻击并挖矿的事件. 值得注意的是, ...

随机推荐

  1. Qt使用QPainter绘制矢量图并保存为svg文件

    位图和矢量图: Bitmap: Usually a larger file size Cannot be enlarged into a higher resolution as the image ...

  2. Python小练习:批量删除多个文件夹内的相同文件

    应用场景: 下载的多个文件夹是压缩包,解压后每个文件夹都有某个网站的推广链接,想要批量的删除该文件 使用环境:win7,python3.6 代码: 1.直接用for循环 由于os.walk()方法自带 ...

  3. maven引入oracle驱动

    下载驱动: https://www.oracle.com/technetwork/database/enterprise-edition/jdbc-112010-090769.html 例如我这边是1 ...

  4. 号称全站最直观解释-smv核函数-是干啥

    认识 svm 在求解时, 通过某非线性变换 φ( x) ,将输入空间映射到高维特征空间.特征空间的维数可能非常高.如果支持向量机的求解只用到内积运算,而在低维输入空间又存在某个函数 K(x, x′) ...

  5. Fiddler抓websocket协议的包,用jmeter做并发测试

    1.Fiddler: 左边为ws请求url.右边为请求数据,响应数据 jmeter:

  6. 图论 - PAT甲级 1013 Battle Over Cities C++

    PAT甲级 1013 Battle Over Cities C++ It is vitally important to have all the cities connected by highwa ...

  7. beta冲刺总结那周余嘉熊掌将得队

    作业格式 课程名称:软件工程1916|W(福州大学) 作业要求:项目Beta冲刺 团队名称: 那周余嘉熊掌将得队 作业目标:beta冲刺总结 队员学号 队员姓名 博客地址 备注 221600131 J ...

  8. cmds系统归并缓慢的处理过程 2017-2-16

      检查反应较慢的时间段,数据库整体运行情况,从awr报告总看看是否有异常   以上是两个节点的等待事件排行,其中发现cursor: pin S wait on X等待事件类型是并行,切较高,开始分析 ...

  9. 通过jar包名称,获取maven的依赖信息GAV

    烦恼:当我们手上有一堆三方件jar包,想要转成maven管理时,需要一个一个配置进pom文件中,而且GAV信息还得去收集. 为了快速生成如下信息,我们可以这样.... GAV:groupId + ar ...

  10. 基于 Keil MDK 移植 RT-Thread Nano

    后文rtt代表RT-Thread 在官网公众号中,看到rtt发布了rtt nano,这个就很轻量级的rtos内核,把多余的驱动都裁剪了,因此移植工作量小,可以哪来学习一番,体验rtt之美 rtt现在也 ...