准备工作:

  • jdk 1.8
  • nexus-3.9.0-01-unix.tar.gz(可以到官网上去下载最新版本的)
  • 客户端安装了maven(注意下方的settings.xml是配置在本地的maven,不是服务器上的,下图中我是直接放到了服务器中)

上传并解压安装包到/usr/local/java

修改配置
可以在nexus-default.properties文件中(位于/usr/local/java/nexus3.9.0/etc目录下)修改WEB访问端口等信息,默认为8081端口;(不做修改,查看一下)


防火墙放行8081端口;

查看防火墙状态 :firewall-cmd --state

关闭防火墙:systemctl stop firewalld.service

编辑 nexus 脚本, 配置 RUN_AS_USER 参数

run_as_user='' 改为: RUN_AS_USER='root'

启动 nexus

执行: cd nexus3.9.0/bin,进入到bin目录,执行:./nexus start

打开浏览器,访问:http://ip地址:8081/
默认用户名 admin 默认密码 admin123

到此,Nexus 安装完成。

接下来配置Nexus

配置Nexus之前,需要先了解一下私服的工作原理,如下图:

找依赖包的流程: 首先在本地仓库中找,如果没命中,那么就找远程私服;远程私服的查找规则同样是先找host属性的私有库,然后再去找proxy属性的远程仓库;可以配置多个proxy;

Nexus仓库类型介绍

默认安装有以下这几个仓库,在控制台也可以修改远程仓库的地址,第三方仓库等。

  • hosted(宿主仓库库) :存放本公司开发的jar包(正式版本、测试版本)
  • proxy(代理仓库):代理中央仓库、Apache下测试版本的jar包
  • group(组仓库):使用时连接组仓库,包含Hosted(宿主仓库)和Proxy(代理仓库)

Hosted 仓库常用类型说明:

  • releases  内部的模块中 release 模块的发布仓库
  • snapshots 发布内部的 SNAPSHOT 模块的仓库
  • 3rd party 第三方依赖的仓库,这个数据通常是由内部人员自行下载之后发布上去

新建代理maven仓库地址是阿里云

jcenter http://jcenter.bintray.com/

最后建立组仓库maven-public(添加aliyun_maven到maven-public),如下。

组仓库中包含了aliyun_maven、maven-central、本地maven-releases,本地maven-snapshots。

至此,Nexus基本就这么配置好了,主要在Group组中配置一个代理私服。

配置下载依赖 setting.xml

添加maven仓库镜像

创建好组仓库之后,修改setting.xml文件,添加maven仓库镜像,如下:

进入/usr/local/java/maven3.6.3/conf下修改setting.xml:

<mirror><id>nexus-myself</id><!--*指的是访问任何仓库都使用我们的私服--><mirrorOf>*</mirrorOf><name>Nexus myself</name><url>http://192.168.200.16:8081/repository/maven-public/</url>
</mirror>

全局配置下载依赖(即项目pom无需配置)

在maven的setting.xml文件中配置私服配置,这种方式配置后所有本地使用该配置的maven项目的pom文件都无需配置私服下载相关配置。

<profiles><profile><id>mycof</id><repositories><!-- 私有库地址--><repository><id>nexus</id><url>http://192.168.200.16:8081/repository/maven-public/</url><releases><enabled>true</enabled></releases><snapshots><enabled>true</enabled></snapshots></repository></repositories>      <pluginRepositories><!--插件库地址--><pluginRepository><id>nexus</id><url>http://192.168.200.16:8081/repository/maven-public/</url><releases><enabled>true</enabled></releases><snapshots><enabled>true</enabled></snapshots></pluginRepository></pluginRepositories></profile> </profiles>

激活使用上面的配置

<!--激活profile-->
<activeProfiles><activeProfile>mycof</activeProfile>
</activeProfiles>

本地maven开发的项目上传配置

1.maven的setting文件配置
这里要配置配置上传用户及仓库信息,我这里直接使用了admin用户,在nenus2.x中还内置了一个deployment/deployment123用户,在3.x该用户被移除了,这里可以自己配置角色和用户,我就直接使用admin用户了

<servers><server>  <id>maven-releases</id>  <username>admin</username>  <password>admin123</password>  </server>  <server>  <id>maven-snapshots</id>  <username>admin</username>  <password>admin123</password>  </server></servers>

单独项目下载依赖(即项目pom文件中配置)

这种配置是修改单个项目的pom文件,无需修改maven的setting配置

<repositories><repository><id>nexus</id><url>http://192.168.200.16:8081/repository/maven-public/</url><releases><enabled>true</enabled></releases><snapshots><enabled>true</enabled></snapshots></repository></repositories><distributionManagement><repository><id>maven-releases</id><name>Nexus Release Repository</name><url>http://192.168.200.16:8081/repository/maven-releases/</url></repository><snapshotRepository><id>maven-snapshots</id><name>Nexus Snapshot Repository</name><url>http://192.168.200.16:8081/repository/maven-snapshots/</url></snapshotRepository></distributionManagement>

建议使用全局的setting配置,一个项目组共用一个maven的setting配置,项目中就无需配置下载相关的私服仓库配置

上传jar包配置(已在上述配置中设置)

对于中央仓库没有的jar包,需要我们自己将jar包发布到私服中去,其中jar包主要分为两类,
一类是本地自己开发供给项目组其余同事使用,这种直接配置项目的pom文件和maven的setting文件,之后deploy发布即可发布到;
另一类是第三方jar包,可以直接使用web页面上传并设置对应GAV即可;

出现uploading信息并且没报错说明上传成功。

在此过程中,不能使用maven的地址,连接超时,使用阿里云的即可

然后到对应的仓库中查看

注意:

  1. 这里只有Snapshot的仓库上传成功,Release仓库并没有上传成功,这是因为版本号名称结尾有SNAPSHOT,默认以这个结尾是不会上传到Release仓库去的,去除就会上传到Release仓库且不会上传到快照仓库

  2. Release仓库默认不支持重复发布,可配置

  3. 注意setting中server标签下的id要和pom文件中仓库配置的id相同,即指定上传到哪个仓库

第三方jar包上传

对于第三方jar包的上传采用nenus提供的web界面上传,上传成功后需要使用该jar包的话,依赖中填写自定义的GAV即可

centen os7 安装并配置Nexus3.9.0相关推荐

  1. Linux环境——MySQL安装及配置(8.0版本)

    虚拟机环境是Linux  Red Hat Enterprlse Linux (64位),本次安装的是Mysql 8.0版本. 由于有经验了,所以又弄了台虚拟机练手,承接上一篇博客(https://ww ...

  2. centos6 安装和配置PHP 7.0

    2015年12月初PHP7正式版发布,迎来自2004年以来最大的版本更新.PHP7最显著的变化就是性能的极大提升,已接近Facebook开发的PHP执行引擎HHVM.在WordPress基准性能测试中 ...

  3. centen os7安装maven

    去maven官网https://maven.apache.org/download.cgi下载maven最新版 连接虚拟机,将下载后的压缩包通过rz命令上传 解压改名 配置maven环境变量 mave ...

  4. qt5 linux apt get,Ubuntu 14.04下安装并配置Qt5.7.0

    1.去官网下载离线安装包 (需要注册) linux 64bit : qt-opensource-linux-x64-5.7.0.run 2.安装libgl1-mesa-dev ,否则在编译时会出错,提 ...

  5. 01_MySQL下载、安装与配置(以MySQL8.0.31版本为例)

    一. 下载MySQL(MySQL的官网地址:https://www.mysql.com/) 1.进入官网 点击DOWNLOADS 2.这里我们选择社区免费版本,对于个人开发者而言够用 3.点击MySQ ...

  6. Ubuntu安装及配置OpenCV3.2.0

    最近在看一些目标检测相关的paper,再看完YOLO三部曲之后,想自己测试一下YOLOv2和YOLOv3的效果,于是安装了OpenCV,下面记录一下安装步骤,及遇到的问题. 环境:Ubuntu16.0 ...

  7. python3.7.2安装与配置_python3.7.0 安装与配置

    python 3.7.0 X64下载地址: https://www.python.org/ftp/python/3.7.0/python-3.7.0-amd64.exe 更多版本下载请移步到:http ...

  8. LXD 2.0系列之二:LXD安装和配置

    本文讲的是LXD 2.0系列之二:LXD安装和配置, [编者的话] 第三方调查报告 显示LXD有潜质成为一款受欢迎的第三方容器管理工具.本文是LXD核心维护者.加拿大程序员Stéphane Grabe ...

  9. 安装和配置Tomcat

    1.1 问题 分别在Linux和windows系统下实现Tomcat的安装和配置. 1.2 步骤 在Linux系统下安装.配置Tomcat 步骤0:安装JDK及配置JAVA_HOME.PATH等环境变 ...

最新文章

  1. 揭秘人工智能的大脑是如何理解世界的
  2. JVM调优总结(6):新一代的垃圾回收算法
  3. 数据结构(严蔚敏)之一——顺序表之c语言实现
  4. 在日期格式化的时候提示错误:Tostring没有采用一个参数的重载
  5. 深度学习:在图像上找到手势_使用深度学习的人类情绪和手势检测器:第2部分
  6. 8 Regular Expressions You Should Know
  7. C++头文件的防卫式声明(为了防止多次include)
  8. Win10系统电脑查看无线密码的方法
  9. c++thread里暂停线程_Java线程的 6 种状态
  10. 氢离子浓度指数(ph值)
  11. 软件著作权申请教程模板材料下载
  12. Win7+vmware+xpsp3+vs2010驱动开发环境搭建及调试方法
  13. 学学就能进步之LM358介绍
  14. laravel 分页 + 分页的样式
  15. 计算机解决问题的几个必要,1–1计算机解决问题的过程.ppt
  16. 为什么比同龄人显老?原来基因变异在作怪
  17. 寻找苹果帝国的二当家
  18. 【抖音视频剪辑】台词找影片素材,剪视频必备
  19. mysql括号被过滤_mysql必知必会--数 据 过 滤
  20. tomcat服务莫名其妙停止

热门文章

  1. Photoshop: 机关单位公章
  2. Ubuntu搜狗输入法ctrl+alt+b冲突解决
  3. Android系统信息获取 之十四:获取WIFI热点相关信息
  4. 解决64位进程调用32位库文件报错问题
  5. 深度学习自学(二十九):上下文感知和对规模不敏感的动作重复计数
  6. adb修改什么文件获取root权限_Android获取ROOT权限的通用方法
  7. grasshop 犀牛5.0下载_神契幻奇谭 v1.129版发布 快来下载神契幻奇谭2020最新官方版...
  8. windows源码安装apache2 win安装apache 阿帕奇服务器
  9. vue3.0 execle 导出功能实现
  10. spring学习--基于注解 注入属性