前言

好久之前就想搭建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. 使用Angular cli创建组件报错: Unexpected token / in JSON at position....

    之前为了熟悉流程一直都是手动创建组件,今天试着用cli创建组件,居然报错了,报错大致为: Unexpected token / in JSON at position.... ,并且错误指向了.ang ...

  2. vue配置 请求本地json数据

    第一步:在build文件夹下找到webpack.dev.conf.js文件,在const portfinder = require('portfinder')后添加 //第一步const expres ...

  3. C# DES加密类,16位的加密。

    这个加密类是与java写的DES加密不同时,自己写的,最后与Java的加密相同了,解决了加密后不同的问题. 可以直接调用里面的加密和解密的方法. using System; using System. ...

  4. highchart在IE8下面的显示问题解决

    完整的代码: <!DOCTYPE HTML><html> <head> <meta http-equiv="Content-Type" c ...

  5. eclipse的基本使用和配置

    在workspace中src目录下的文件是java文件,bin目录下是class文件 1:基本使用 A:创建Java项目: 点击File或者在最左侧空白处,选择Java项目,在界面中写一个项目名称,然 ...

  6. 利用python实现两个文件夹的同步

    其实无论windows还是Linux,简单地去实现两个两个文件夹的同步只需系统自带的复制命令加参数就可以了. WINDOWS : xcopy 源文件夹\* 目标文件夹 /s /e /y Linux : ...

  7. Centos7 + Python3.6 + Django + virtualenv + gunicorn + supervisor 环境配置详解

    跟着网上的教程走发现行不通阿!好多都是写个大概,而且每人的环境都是有些许差异的,比如说权限问题阿,等等都会造成安装的失败 说明:本教程在你已经拥有Centos7系统,已经安装好nginx服务器,已经安 ...

  8. redis scan删除key的方法封装

    /** * @desc 迭代式的删除redis key * 用法: * $redis = BaseService::S()->getRedisConfig(\Yii::$app->redi ...

  9. Vue 开发经验总结

    Vue 开发经验总结 1.变量和方法,别写在全局,使用模块化导出.导入 对比项目 优点 缺点 适用场景 写在全局 会一直存在 使用模块化导出.导入 按需要导入 2.组件的prop值是请求接口后设置的( ...

  10. MySQL is running but PID file could not be found

    在Linux 中,当你启动或者重启 MySQL 时,报 关于 PID file 的错误 解决方法 第一步:找到   mysql 中 data 目录下的 mysql-bin.index 文件,然后删除 ...