【maven】nexus3 使用

nexus是一种常见的maven私服软件。

网上介绍的都是nexus2的使用,下面是最新版nexus3的使用方式。

首先需要从官网下载nexus3的包,很卡。

下载好以后解压会有两个文件夹:nexus的和sonatype-work。前者是功能的实现,后者负责存储数据。

进入nexus的bin目录下:

启动

./nexus start
关闭

./nexus stop
启动之后,可以访问:
http://localhost:8081/

点击右上角sign in,用户名admin密码admin123即可登录。

在etc下有一个nexus-defauly.properties文件,是nexus的配置文件:

DO NOT EDIT - CUSTOMIZATIONS BELONG IN $data-dir/etc/nexus.properties

Jetty section

application-port=8081
application-host=0.0.0.0
nexus-args= j e t t y . e t c / j e t t y . x m l , {jetty.etc}/jetty.xml, jetty.etc/jetty.xml,{jetty.etc}/jetty-http.xml,${jetty.etc}/jetty-requestlog.xml
nexus-context-path=/

Nexus section

nexus-edition=nexus-pro-edition
nexus-features=
nexus-pro-feature
我们可以在这里修改端口号或者项目的context。

登录之后就可以查看私服了。登录以后,最上面会有两个按钮,一个是查看仓库配置的(齿轮形状),另一个是查看仓库内容的(正方体):

内容:

我们只关心maven,所以在左侧点击maven,右面就是所有的仓库的maven的jar包。上面支持特定的搜索。第一次这个页面没有任何包,上面我已经加好的。

当然我们也可以点击左侧的browse来浏览仓库:

这是默认的仓库,当然这里我们只关心maven的,也就是前四个。name是仓库名,url是仓库的地址,会在我们的项目pom里被使用到。

1.maven-central:这是maven的中心仓库,nexus这里只是做一个代理,最后会转发到maven的central库,如下:

2.maven-public:这是一个仓库组,访问这个仓库组的地址其实会访问组内所有仓库

我们可以在配置页面看到这个public的仓库组的配置,默认是包含了members指定的三个仓库。所以在pom中使用这个仓库组的url时,实际上会从members里的所有仓库下载jar包。

3.maven-releases:这是nexus提供的一个默认的存放release版本jar包的仓库。

4.maven-snapshots:这是nexus提供的一个默认的存放snapshot版本jar包的仓库。

仓库的属性可以控制只存放snapshot或者release版本的jar包。

当然我们可以不使用这些默认的仓库,自行创建。

这里可以看到nexus可以支持很多种仓库,只看maven,其实就只有三种:

proxy就是代理类,负责转发,比如之前的maven-central;

hosted就是我们常用的存放jar包的仓库,可以选择jar包的类型,release,snapshot或者mixed;

group可以包含多个仓库,比如之前的maven-public;

以上就是nexus3的大致使用方式,具体的可以自行了解,比较简单。

下面介绍maven项目从nexus下包和上传。

1.上传jar包:

上传jar包需要认证,maven的认证是在.m2/settings.xml里servers标签下配置的。

release_user admin admin123 snapshot_user admin admin123 这里配置两个用户,一个部署release类型jar包的,一个是部署snapshot类型jar包的。

id用于唯一指定一条认证配信息,之后会在pom中使用。

接着新建一个quick-start的maven项目,在pom中配置distributionManagement标签,该标签负责描述maven deploy上传远程仓库:

<?xml version="1.0" encoding="UTF-8"?>

4.0.0

com.liyao
up_nexus_test
1.0-SNAPSHOT

up_nexus_test

http://www.example.com

release_user Release Deploy http://localhost:8081/repository/maven-releases/ snapshot_user Snapshot Deploy http://localhost:8081/repository/maven-snapshots/ 这里配置了上传的url,具体的url可以在nexus的仓库浏览界面下点击仓库的url copy获得。使用刚才的两个认证信息,把jar包存在nexus提供的默认仓库下。id对应了setting.xml里配置的信息,name随意。

然后我们在项目根目录下执行:

mvn clean deploy
部署项目到nexus上。
之前上传的是快照版本,所以可以在maven-snapshots仓库下看到:

再打一个release的jar包,只需要把version改为1.0即可,再执行deploy命令。

所有的jar包:

2.拉取jar包:

我们需要再新建一个项目来拉取上面上传的jar包,还是新建一个maven的quick-start项目,然后需要在pom中加入依赖,并且配置我们的nexus仓库。

<?xml version="1.0" encoding="UTF-8"?>

4.0.0

<groupId>com.liyao</groupId>
<artifactId>down_nexus_test</artifactId>
<version>1.0-SNAPSHOT</version><name>down_nexus_test</name>
<!-- FIXME change it to the project's website -->
<url>http://www.example.com</url><properties><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding><maven.compiler.source>1.7</maven.compiler.source><maven.compiler.target>1.7</maven.compiler.target>
</properties><dependencies><dependency><groupId>com.liyao</groupId><artifactId>up_nexus_test</artifactId><version>1.0</version></dependency>
</dependencies><repositories><repository><id>nexus-public</id><name>Nexus Public</name><url>http://localhost:8081/repository/maven-public/</url><releases><enabled>true</enabled></releases><snapshots><enabled>true</enabled></snapshots></repository>
</repositories>

由于之前已经将两个仓库加入到public组中,所以我们直接使用public仓库组的url下载。

执行:

mvn clean package
接着就可以看到下载的jar包了:

我们也可以拉刚才的快照包,把依赖里的version改为1.0-SNAPSHOT即可,重新package:

本地maven库配置settings.xml

org.sonatype.plugins nexus admin admin123 nexus * http://localhost:8081/repository/maven-public/ repo2 central Human Readable Name for this Mirror. http://repo2.maven.org/maven2/ nexus central http://central true true central http://central true true nexus

注:使用package可能不会更新jar包,可以使用idea的reimport功能或者删除本地仓库jar包,再package。

搭建私服以及私服的使用相关推荐

  1. 搭建maven的私服nexus

    1.搭建maven的私服     http://www.sonatype.org/nexus/downloads/     搭建私服是团队开发的基础,才能实现组内或者组间的依赖共享,要搭建私服使用工具 ...

  2. 使用Nexus搭建Maven私服、私服下载与上传

    目录 一.概念 1.私服简介 2.私服的好处 3.搭建私服的开源仓库管理软件 二.使用Nexus搭建Maven私服(Windows环境) 1.安装jdk 2.下载即安装Nexus 2.1 下载 2.2 ...

  3. Jenkins CI服务器搭建及Maven私服Nexus

    Jenkins CI服务器搭建及Maven私服Nexus 一:Jenkins持续集成(CI)1 1.1:Jenkins简介及特性1 1.2:Jenkins安装1 1.3:Jenkins配置1 1.4: ...

  4. windows服务器搭建原神私服教程(附客户端+服务端+环境配置)

    今天给大家带来的是windows服务器搭建原神私服的教程,服务端搭建于私人windows服务器,客户端支持情况:PC.iOS支持国服 /国际服均可,Android仅支持国际服.本篇文章附有客户端和服务 ...

  5. 【Maven】3.使用IntelliJ IDEA 使用本地搭建的maven私服,而不是使用默认的maven设置...

    安装Idea的教程:http://www.cnblogs.com/sxdcgaq8080/p/7641379.html 搭建maven私服的教程:http://www.cnblogs.com/sxdc ...

  6. 使用Nexus搭建Maven仓库私服的权限配置心得

    最近在学习Maven,学习到使用Nexus搭建私服,通过Nexus的权限机制可以实现较细粒度的权限控制,这对组织内部的团队开发很有帮助.通过实验,我总结了以下一些经验,可以实现一些权限控制的需求,在此 ...

  7. 传奇手游服务器搭建_传奇私服服务器端在云服务器架设,全版本通用的传奇游戏架设教程...

    原标题:传奇私服服务器端在云服务器架设,全版本通用的传奇游戏架设教程 传奇是一个经典古老的游戏,当年的火爆至今还历历在目!网上有许多单机版的传奇,不过过于无聊,很多东西仿的都不全.要是玩正版又没有那么 ...

  8. Nexus Repository Manage搭建远程仓库私服

    一.Nexus Repository Manager服务的搭建: 安装免费版:Nexus Repository OSS 1.下载 最新Nexus的下载地址: 官网: https://www.sonat ...

  9. 一文教会你离线Linux主机简易搭建YUM源私服

    离线环境不通外网,所以私服这块很关键 一般的,一个集群,配好一台,其余所有机器均可使用 其实之前写过搭建YUM私服的文章,不过那是在线环境 CentOS-7.7.1908-YUM源-私服 成功搭建 下 ...

  10. Docker搭建nexus3.x私服

    Nexus3是一个仓库管理器,它极大地简化了本地内部仓库的维护和外部仓库的访问.平常我们在获取maven仓库资源的时候,都是从maven的官方(或者国内的镜像)获取,速度缓慢且团队重复获取,这时候我们 ...

最新文章

  1. 手机长时间不用自动断网_不用蓝牙的感应音箱,只需百元!放上手机自动播放,媲美千元音质...
  2. CISSP考前总复习
  3. V210 UART 整体流程
  4. 异常:fatal: unable to access 'https://git.oschina.net/pcmpcs/library.git/': Could not resolve host...
  5. 5种高大上的yml读取方式,你知道几种?
  6. 使用find 命令执行命令 -exec
  7. SAS在金融中的应用六
  8. java堆栈信息查看,以及JVM性能查看工具-jconsole+jmap
  9. 拓端tecdat|回归树模型分析纪录片播放量影响因素|数据分享
  10. Windows下,Unicode、UTF8,GBK(GB2312)互转
  11. 【PAT】A-1076:Forwards on Weibo(有向图的BFS遍历)
  12. 高版本SDK编译apk在低版本android源码中编译
  13. FPGA的进阶项目——开源示波器
  14. 知到python课程答案-知到智慧树_Python数据分析与数据可视化_结课测验答案
  15. [收藏]经典爱情十句话
  16. 本园的下学期工作计划
  17. C++:应用有限差分法求解随时间变化 平流方程 ut = - c * ux 在一个空间维度上,与 恒定速度,使用FTCS方法,正向时间差, 居中空间差(附完整源码)
  18. 淘宝客引流的两个高效渠道
  19. 视频正在os x使用中_如何在OS X中使用家长控制来保护孩子
  20. 每次USB共享网络后,网络编号自动+1后清零方法

热门文章

  1. Libra只是出了白皮书 中国央行的数字货币研究所已经做了落地试点
  2. 西数移动硬盘数据恢复之SMR叠瓦盘190模块故障重建修复
  3. 简单但现代的服务器仪表板Dashdot
  4. java基于ssm+vue+elementui的高校餐厅订餐美食分享系统
  5. PlaySilence thread has died.
  6. 用Python画一个sin函数图
  7. Camtasia 2020 20.0.2 简体中文版 — 屏幕录像微课制作软件介绍
  8. 数学常数e的含义(阮一峰)
  9. 【PHP MySQL】数据库专题 第二课 创建数据库 表
  10. cscope 相关笔记