前言

好久之前就想搭建maven仓库了,一直拖到了现在,也就是懒得动,现在终于是要付诸行动了。网上查了不少资料,好多博客都是关于2.x的搭建,我下载的是最新版的nexus,好多教程已经不能使用,以此记录我的踩坑搭建之路。

安装环境和需要的软件

  • Centos 7
  • Java 1.8
  • nexus OSS 3.13

Java安装

  • 卸载openjdk
1.rpm -qa|grep java 查找
2.rpm -e --nodeps xxxx 卸载openjdk
  • 下载jdk
wget --no-check-certificate --no-cookies --header "Cookie: oraclelicense=accept-securebackup-cookie" "http://download.oracle.com/otn-pub/java/jdk/8u181-b13/96a7b8442fe848ef90c96a2fad6ed6d1/jdk-8u181-linux-x64.tar.gz"
  • 安装
1.mkdir /usr/java 在/usr下建立Java文件夹
2.mv jdk-8u181-linux-x64.tar.gz /usr/java/jdk-8u181-linux-x64.tar.gz
3.tar -xzvf jdk-8u181-linux-x64.tar.gz 解压
4.mv jdk1.8.0_181/ jdk1.8
5.vim /etc/profile
6.设置环境变量
JAVA_HOME=/usr/java/jdk1.8
JRE_HOME=/usr/java/jdk1.8/jre
PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin
CLASSPARH=,:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib
export JAVA_HOME JRE_HOME PATH CLASSPATH
分隔符是冒号不是分号
7.source /etc/profile 使环境变量生效
8.java -version 查看Java版本

Nexus安装

  • 创建文件夹
mkdir /usr/software/nexus
  • 下载安装文件
cd /usr/software/nexus
wget "https://sonatype-download.global.ssl.fastly.net/repository/repositoryManager/3/nexus-3.13.0-01-unix.tar.gz"
  • 解压
tar -xzvf nexus-3.13.0-01-unix.tar.gz

解压后

  • 修改配置文件 也可以不改
cd nexus-3.13.0-01/etc
vim nexus-default.properties

默认端口8081,我修改为5743

  • 开放端口 root用户
1.查看防火墙状态
firewall-cmd --state
2.如果关闭开启防火墙
systemctl start firewalld.service
3.开放5743端口(以自己的配置为准)
firewall-cmd --zone=public --add-port=5743/tcp --permanent
4.重新加载
firewall-cmd --reload
5.重启防火墙
systemctl restart firewalld.service
  • 启动nexus
cd nexus-3.13.0-01/bin
./nexus start
常用命令
./nexus restart
./nexus stop
  • 本地访问 ip:端口号 默认账户admin 密码 admin123

  • 选择Repositories 创建三方私有库

  • 我创建了两个maven hosted仓库

  • 将这两个仓库加入到maven-public中

    点击maven-public

    到这里线上就配置完成了

配置Maven

  • 找到setting.xml 在mirrors中添加mirror
<mirror>
<id>nexus</id
<mirrorOf>*</mirrorOf>
<name>central repository</name>
<url>http://ip:端口/repository/maven-public/</url>
</mirror>
  • 在servers中添加server
<!-- id与pom.xml中的distributionManagement下repository的id对应 -->
<server>
<id>nexus</id>
<username>admin</username>
<password>admin123</password>
</server>
<server>
<id>3rd-releases</id>
<username>admin</username>
<password>admin123</password>
</server>
<server>
<id>3rd-snapshots</id>
<username>admin</username>
<password>admin123</password>
</server>
  • 在profiles中添加profile
<profile>
<id>nexus</id>
<repositories>
<repository>
<id>3rd-releases</id>
<name>3rd releases</name>
<url>http://ip:端口/repository/3rd-releases/</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>false</enabled>
</snapshots>
</repository>
<repository>
<id>3rd-snapshots</id>
<name>3rd snapshots</name>
<url>http://ip:端口/repository/3rd-snapshots/</url>
<releases>
<enabled>false</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
</snapshots>
</repository>
</repositories>
<pluginRepositories>
<pluginRepository>
<id>3rd-releases</id>
<name>3rd releases</name>
<url>http://ip:端口/repository/3rd-releases/</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>false</enabled>
</snapshots>
</pluginRepository>
<pluginRepository>
<id>3rd-snapshots</id>
<name>3rd snapshots</name>
<url>http://ip:端口/repository/3rd-snapshots/</url>
<releases>
<enabled>false</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
</snapshots>
</pluginRepository> </pluginRepositories>
</profile>
  • 激活profile
<activeProfiles>
<!--profile下的id-->
<activeProfile>nexus</activeProfile>
</activeProfiles>

上传jar 发布项目

  • 网页上传jar upload

  • maven deploy

    • pom.xml 添加 distributionManagement
      <distributionManagement>
    <repository>
    <id>3rd-releases</id>
    <name>3rd-releases</name>
    <url>http://ip:端口/repository/3rd-releases/</url>
    </repository>
    <snapshotRepository>
    <id>3rd-snapshots</id>
    <name>3rd-snapshots</name>
    <url>http://ip:端口/repository/3rd-snapshots/</url>
    </snapshotRepository>
    </distributionManagement>

    id要和setting.xml中的server id一致

    • 运行maven deploy

  • 查看线上



发布成功,以后可以直接在别的项目中使用

补充

1.window注册服务
nexus.exe /install
2.window运行
nexus.exe /run

使用nexus3.x搭建maven私服的更多相关文章

  1. Windows环境使用Nexus-3.x搭建Maven私服

    [前言] 本文主要讲解在Wiindows环境下搭建最新出的Nexus 3.x私服. 1.搭建私服的必要性 一般情况下,各个公司的开发团队为了提高开发效率,都会使用项目构建工具进行开发.常见的构建工具有 ...

  2. 【Maven】2.使用Nexus3搭建Maven私服+上传第三方jar包到本地maven仓库

    参考文章: http://www.cnblogs.com/luotaoyeah/p/3791966.html --------------------------------------------- ...

  3. 使用Nexus3搭建Maven私服

    1.搭建Maven私服背景 公司还是按捺不住,要搭建一个自己的Maven本地仓库,可以让开发人员down架包,从内网还是快很多. 这样公司的maven本地仓库就是 开发人员自己电脑上的maven仓库 ...

  4. 使用Nexus3搭建Maven私服+上传第三方jar包到本地maven仓库

    1.搭建Maven私服背景 公司还是按捺不住,要搭建一个自己的Maven本地仓库,可以让开发人员down架包,从内网还是快很多. 这样公司的maven本地仓库就是 开发人员自己电脑上的maven仓库 ...

  5. 搭建Maven私服那点事

    摘要:本文主要介绍在CentOS7.1下使用nexus3.6.0搭建maven私服,以及maven私服的使用(将自己的Maven项目指定到私服地址.将第三方项目jar上传到私服供其他项目组使用) 一. ...

  6. 【原创】Docker 搭建Maven私服nexus 3.17初始密码登录不上问题/admin登陆不上问题

    [原创-转载请说明出处] 博主最近在虚拟机中搭建Maven私服,遇到了一个关键问题就是nexus 3.17版本后初始密码不是admin/admin123. 对于nexus不熟悉的我弄了很长时间!!!心 ...

  7. CentOS7-Docker 搭建Maven私服

    使用Docker搭建Maven私服 前言本文主要介绍,使用Docker创建一个nexus私服,然后编写一个Library,上传到私服,然后使用demo工程依赖. 本文不对Maven.Nexus.私服等 ...

  8. centos7搭建maven私服

    Linux:CentOS7安装maven私服Nexus https://blog.csdn.net/plei_yue/article/details/78616267 搭建nexus3版的maven私 ...

  9. Gradle系列之从零搭建Maven私服库

    原文发于微信公众号 jzman-blog,欢迎关注交流. 前面几篇文章学习了 Gradle 相关知识,Gradle 系列文章如下: Gradle系列之初识Gradle Gradle之Groovy基础篇 ...

随机推荐

  1. s21day19 python笔记

    s21day19 python笔记 一.面向对象的基本知识 1.1 基本格式 # 定义类 class 类名: def 方法名(self,name): print(name) return 123 de ...

  2. 多线程——C++

    线程: 先说进程,进程是应用程序的执行实例,每个进程拥有其私有的虚拟地址空间.代码.数据和其它系统资源组成.进程在运行时创建的资源随着进程的终止而死亡. 而线程是一个独立的执行流,是进程内部的一个独立 ...

  3. js复习--基础

    最近工作遇到了一些小困难,基础真的很重要,漫天高楼起于地. 一,script元素 包括type=“text/Javascript”,defer延迟到html加载完解析,src=“../../test. ...

  4. 学习笔记TF058:人脸识别

    人脸识别,基于人脸部特征信息识别身份的生物识别技术.摄像机.摄像头采集人脸图像或视频流,自动检测.跟踪图像中人脸,做脸部相关技术处理,人脸检测.人脸关键点检测.人脸验证等.<麻省理工科技评论&g ...

  5. nodejs-- vuex中mapActions

    mapActions() 返回的是一个对象, 用了 ... 扩展符后,才可以放进一个对象里,和其他组件内定义的 method 在同一个 methods 对象. { methods: mapAction ...

  6. Python基础:八、python基本数据类型

    一.什么是数据类型? 我们人类可以很容易的分清数字与字符的区别,但是计算机并不能,计算机虽然很强大,但从某种角度上来看又很傻,除非你明确告诉它,"1"是数字,"壹&quo ...

  7. parrotsec 和 kali安装系统的时候出现“executing grub-install dummy”的解决方案

    在物理机的环境下安装系统出现点问题,弄了好一会才弄出解决方法 1.parrot和kali安装的时候出现了无efi分区不能继续的问题,要知道我之前安装的时候一直都是\ ; 内存; \home三个分区搞定 ...

  8. 钱管够,你能接这个项目吗?+ tomcat源码分析

    最近看了几个咕泡学院的公开课,课堂老师讲到下面这两个经历. 1:钱给够,你有没有能力接下这个全国性的项目 平时也会有怀才不遇的时候,但是当你遇到这个机会的时候,有没有信心去接下这个单子呢? 信心和能力 ...

  9. 在Django中运行ExtJS 事例

    网上关于ExtJS的事例挺多的,但是在Django中使用ExtJS挺少的,当然了,一些大牛觉得ExtJS运用在页面上是很简单的事,但是对于菜鸟来说,实在有点困难. 我这个例子是用在了sublime3这 ...

  10. 《DenseNet Models for Tiny ImageNet Classification》课程设计论文

    paper : <DenseNet Models for Tiny ImageNet Classification>     https://arxiv.org/ftp/arxiv/pap ...