Nexus私服搭建、配置、上传

  • 一、下载安装
  • 二、配置
  • 三、jar包上传到nexus


一、下载安装

nexus版本:nexus-3.20.1-01-win64
官方地址:官方地址 网盘地址:

链接:https://pan.baidu.com/s/1FYcdcTpcp-Dd6u-v3L47rg
提取码:dr90

二、配置

  • 下载后解压目录
    sonatype-work为工作目录
  • 配置环境变量
    配置环境变量方便在任意目录使用nexus
    nexus_name: nexus的安装目录(最好不加bin) path:将nexus_name拼接到path中(这块加bin)
  • win64启动nexus3
  1. 管理员打开cmd界面
  2. 启动

前台启动:nexus.exe /run
后台启动:
安装nexus服务:管理员身份运行cmd–>执行nexus.exe /install 服务名
卸载nexus服务:管理员身份运行cmd–>执行nexus.exe /uninstall 服务名
启动nexus服务:管理员身份运行cmd–>执行nexus.exe /start 服务名
停止nexus服务:管理员身份运行cmd–>执行nexus.exe /stop 服务名
查看nexus服务:管理员身份运行cmd–>执行nexus.exe /status 服务名
注意:后台运行这种方式,nexus服务只要安装一次,安装后默认操作系统启动而启动,无需执行每次运行启动命令

  1. 访问
    访问地址:http://localhost:8081/
    默认用户名/密码: admin admin123
  2. 默认配置
    etc目录下的nexus-default.properties
  3. 登录


    当你登录后admin.password修改密码后会自动删除
  4. 登录nexus


    说明:Repositorys仓库管理面罗列了多个默认仓库,也可以添加新的仓库;
    a、maven-central:Type为proxy,表示代理仓库,用来代理远程仓库–下载组件时,如果代理仓库搜索不到,则把请求转发到远程仓库(默认为 https://repo1.maven.org/maven2/),并从远程仓库下载,然后将该组件缓存到代理仓库,当再次请求该组件时,则直接到代理仓库下载,不会再次请求远程仓库。
    点击proxy

    查看Proxy详情

b、maven-releases/maven-snapshots:Type为hosted,表示宿主仓库,主要用来部署团队内部使用的内部组件,其中maven-releases用来部署团队内部的发布版本组件maven-snapshots用来部署团队内部的快照版组件;

c、maven-public:Type为group,表示分组仓库,默认将maven-centralmaven-releasesmaven-snapshots三个仓库组合在一起对外提供服务,简化了maven客户端在settings.xml或pom.xml中的配置

maven-central:maven中央库,默认从https://repo1.maven.org/maven2/拉取jar(Proxy)

maven-releases:私库发行版jar(Hosted)

maven-snapshots:私库快照(调试版本)jar(Hosted)

maven-public:仓库分组,把上面三个仓库组合在一起对外提供服务,在本地maven基础配置(Group)

注意:可以使用nexus自带的ProxyHostedGroup库,也可以使用自己创建的

nexus 配置ospf nexus 部署_jar

  • maven-public提供服务

    客户端做如下修改:
<mirror>  
  <id>nexus</id>  
  <name>nexus</name>  
  <url>http://localhost:8081/repository/maven-public/</url>
  <mirrorOf>*</mirrorOf>          
</mirror>

下图为改为本地下载

nexus 配置ospf nexus 部署_xml_02

三、jar包上传到nexus

一般向私服上传jar包有三种方法:

  • 直接浏览器
  • cmd模式
  • IDE集成环境
  • 准备环境
    1.创建3rd_part
    使用默认用户admin/admin123登录

nexus 配置ospf nexus 部署_xml_03


点击左侧的repository\repositories后,在右侧点击create repository

nexus 配置ospf nexus 部署_nexus 配置ospf_04


然后选择maven2(hosted),填写如下

nexus 配置ospf nexus 部署_xml_05


跳到首页后选择maven-public

nexus 配置ospf nexus 部署_jar_06

3rd_part移到member中,即将33rd_partmaven-public管理,点击save

nexus 配置ospf nexus 部署_nexus 配置ospf_07


至此,创建仓库完成

2.创建3rd_part管理用户创建用户: 用户名/密码-dev/dev123

nexus 配置ospf nexus 部署_jar_08


直接浏览器 使用dev/dev123登陆,点击upload

nexus 配置ospf nexus 部署_java_09


填写上传jar包的信息后,点击upload

nexus 配置ospf nexus 部署_nexus 配置ospf_10


可以看到已经上传成功

nexus 配置ospf nexus 部署_xml_11

cmd模式
1.复制一份settings.xml为settings-private.xml,在settings-private.xml文件中加入节点server:

<server>
  <id>deployment</id>
  <username>dev</username>
  <password>dev123</password>
</server>

在命令行中输入

mvn deploy:deploy-file
-DgroupId=com.sjing.yjyuan
-DartifactId=fastjson-sj
-Dversion=1.0.1
-Dpackaging=jar
-Dfile=E:\installed\mavenRepository\fastjson-1.2.40.jar
-Durl=http://192.168.1*9.1*0:8081/repository/3rd_part/
-DrepositoryId=deployment
--settings E:\installed\mavenRepository\settings-private.xml

其中-Durl即3rd_part仓库的地址

nexus 配置ospf nexus 部署_maven_12


-DrepositoryId即为之前server节点中的属性id的值,–settings指定maven的setting文件,即

nexus 配置ospf nexus 部署_xml_13


IDE集成环境

settings-private.xml中的servers节点加入

<server>
  <id>nexus-release</id>
  <username>dev</username>
  <password>dev123</password>
</server>
<server>
  <id>nexus-snapshots</id>
  <username>dev</username>
  <password>dev123</password>
</server>

在maven工程项目nexus-upload中的pom文件中加入

<!--上传到nexus仓库中,配合mvn deploy:deploy-->
<distributionManagement>
 <repository>
     <!--这里的id需要和settings.xml中的server的id一致-->
     <id>nexus-release</id>
     <name>Nexus release Repository</name>
     <!--releases仓库-->
     <url>http://192.168.1*9.1*0:8081/repository/maven-releases/</url>
 </repository>
 <snapshotRepository>
     <id>nexus-snapshots</id>
     <name>Nexus snapshots Repository</name>
     <!--snapshots仓库-->
     <url>http://192.168.1*9.1*0:8081/repository/maven-snapshots/</url>
 </snapshotRepository>
</distributionManagement>

然后运行mvn deploy
可以在控制台

[INFO] --- maven-deploy-plugin:2.8.2:deploy (default-deploy) @ nexus-upload ---
Downloading: http://192.168.1*9.1*0:8081/repository/maven-snapshots/com/sijing/yjyuan/nexus-upload/1.0-SNAPSHOT/maven-metadata.xml
Uploading: http://192.168.1*9.1*0:8081/repository/maven-snapshots/com/sijing/yjyuan/nexus-upload/1.0-SNAPSHOT/nexus-upload-1.0-20180303.072618-1.jar
Uploaded: http://192.168.1*9.1*0:8081/repository/maven-snapshots/com/sijing/yjyuan/nexus-upload/1.0-SNAPSHOT/nexus-upload-1.0-20180303.072618-1.jar (3 KB at 4.6 KB/sec)
Uploading: http://192.168.1*9.1*0:8081/repository/maven-snapshots/com/sijing/yjyuan/nexus-upload/1.0-SNAPSHOT/nexus-upload-1.0-20180303.072618-1.pom
Uploaded: http://192.168.1*9.1*0:8081/repository/maven-snapshots/com/sijing/yjyuan/nexus-upload/1.0-SNAPSHOT/nexus-upload-1.0-20180303.072618-1.pom (4 KB at 9.6 KB/sec)
Downloading: http://192.168.1*9.1*0:8081/repository/maven-snapshots/com/sijing/yjyuan/nexus-upload/maven-metadata.xml
Uploading: http://192.168.1*9.1*0:8081/repository/maven-snapshots/com/sijing/yjyuan/nexus-upload/1.0-SNAPSHOT/maven-metadata.xml
Uploaded: http://192.168.1*9.1*0:8081/repository/maven-snapshots/com/sijing/yjyuan/nexus-upload/1.0-SNAPSHOT/maven-metadata.xml (773 B at 2.7 KB/sec)
Uploading: http://192.168.1*9.1*0:8081/repository/maven-snapshots/com/sijing/yjyuan/nexus-upload/maven-metadata.xml
Uploaded: http://192.168.1*9.1*0:8081/repository/maven-snapshots/com/sijing/yjyuan/nexus-upload/maven-metadata.xml (287 B at 1.5 KB/sec)
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 6.368 s
[INFO] Finished at: 2018-03-03T15:26:20+08:00
[INFO] Final Memory: 15M/250M
[INFO] ------------------------------------------------------------------------

在nexus私服中可以看到

nexus 配置ospf nexus 部署_maven_14