首页 > 其他 > 详细

使用nexus3.x搭建maven私服

时间:2018-09-20 00:37:20      阅读:268      评论:0      收藏:0      [点我收藏+]

前言

好久之前就想搭建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
  • 安装
1.oracle下载Java 1.8
2.mkdir /usr/java 在/usr下建立Java文件夹
3.上传下载好的jdk到这里
4.tar -xzvf xxxx 解压
5.mv xxxx jdk1.8
6.vim /etc/profile
7.设置环境变量
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 PARH CLASSPATH
分隔符是冒号不是分号
8.source /etc/profile 使环境变量生效
9.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.重启防火墙
systemctl restart firewalld.service
5.重新加载
firewall-cmd --reload
  • 启动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

    技术分享图片

  • 查看线上

技术分享图片
发布成功,以后可以直接在别的项目中使用

使用nexus3.x搭建maven私服

原文:https://www.cnblogs.com/vvxtoys/p/9678241.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!