• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    Linux搭建自己Nexus私服的实现方法

    本文介绍如何在Linux服务器通过Docker搭建Nexus私服

    一、安装Nexus

    1、创建存放数据的位置

    # 进入个目录,这个你们随便
    cd /srv
    # 创建个文件夹
    mkdir nexus-data
    # 赋予权限,不然启动会报错,无操作权限
    chmod 777 nexus-data

    2、启动

    执行以下命令即可,会自动拉取镜像并启动

    docker run -d -p 8081:8081 --name nexus -v /srv/nexus-data:/nexus-data --restart=always sonatype/nexus3

    通过docker logs -f nexus查看启动日志,当出现Started Sonatype Nexus OSS说明启动成功,这时通过http://ip:8081即可访问


    点击右上角Sign in进行登录,账号为admin,密码需要去镜像中查看

    # 进入镜像
    docker exec -it nexus bash
    # 查看密码,路径在登录框会提示,然后复制即可,登陆成功后会让你修改密码
    cat /nexus-data/admin-password

    至此,就启动完成了,进入主页后点击左边菜单栏的Browse即可查看你拥有的仓库啦

    二、Nexus仓库

    1、仓库类型

    Nexus有四种仓库和四种仓库类型

    a、仓库

    仓库名 描述
    maven-central maven中央库,默认从https://repo1.maven.org/maven2/拉取jar
    maven-releases 私库发行版jar
    maven-snapshots 私库快照(调试版本)jar
    maven-public 仓库分组,把上面三个仓库组合在一起对外提供服务,在本地maven基础配置settings.xml中使用

    b、类型

    类型 描述
    group(仓库组类型) 用于方便开发人员自己设定的仓库
    hosted(宿主类型) 内部项目的发布仓库(内部开发人员,发布上去存放的仓库)
    proxy(代理类型) 从远程中央仓库中寻找数据的仓库(可以点击对应的仓库的Configuration页签下Remote Storage Location属性的值即被代理的远程仓库的路径)
    virtual(虚拟类型) 虚拟仓库(这个基本用不到,重点关注上面三个仓库的使用)

    2、拉取jar包流程

    Maven可直接从宿主仓库下载构件,也可以从代理仓库下载构件,而代理仓库间接的从远程仓库下载并缓存构件,为了方便,Maven可以从仓库组下载构件,而仓库组并没有实际的内容(下图中用虚线表示,它会转向包含的宿主仓库或者代理仓库获得实际构件的内容)

    3、创建仓库

    进过上面的讲解,我们对仓库已经有了了解,接下来我们进行创建仓库,分为是代理仓库(proxy)宿主仓库(hosted)仓库组(group),点击主页上面的小螺丝然后在选择Repositories进入仓库管理列表,然后就可以开始创建我们的仓库啦,选择仓库类型的时候一定要选择maven2

    a、proxy代理仓库

    我们使用阿里的中央仓库

    b、hosted宿主仓库

    这里可以创建releasessnapshot类型的仓库,这里就演示一种

    c、group仓库组

    三、项目配置

    前两章走完我们已经在Linux服务器部署好了nexus并且创建好了我们的仓库,接下来我们就来试着在项目中配置

    1、创建一个Maven项目

    为了演示,就随便创建个工具类玩,以下是目录结构

    2、pom文件

    这里为了演示我就配了release仓库,实际上应该同时要配置snapshot仓库,maven会判断版本后面是否带了-SNAPSHOT,如果带了就发布到snapshots仓库,否则发布到release仓库

    <?xml version="1.0" encoding="UTF-8"?>
    <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
     <modelVersion>4.0.0</modelVersion>
     <groupId>com.gjing</groupId>
     <artifactId>demo</artifactId>
     <version>1.0</version>
     <name>demo</name>
     <description>Demo project for Spring Boot</description>
    
     <properties>
      <java.version>1.8</java.version>
      <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
     </properties>
    
     <distributionManagement>
      <repository>
       <!--ID可以随便写,但是要与maven的setting文件中一致-->
       <id>releases</id>
       <!--指向仓库类型为hosted(宿主仓库)的储存类型为Release的仓库---->
       <url>http://你nexus仓库的IP:8081/repository/me-release/</url>
      </repository>
     </distributionManagement>
    
     <build>
      <plugins>
       <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-compiler-plugin</artifactId>
        <version>3.8.1</version>
        <configuration>
         <source>1.8</source>
         <target>1.8</target>
        </configuration>
       </plugin>
       <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-deploy-plugin</artifactId>
        <version>2.8.2</version>
       </plugin>
      </plugins>
     </build>
    </project>

    3、maven配置setting文件

    id一定要和项目pom文件中的一致

     <servers>
     <server>
      <id>releases</id><!--对应项目pom文件中设置的-->
      <username>admin</username>
      <password>admin123</password>
     </server>
     </servers>

    四、发布

    如果使用的是IDEA开发工具可以直接在右边工具栏Maven工具点击deploy,也可以直接在命令行进入本项目根目录进行mvn deploy


    这时nexus私服上也会出现我们的jar包


    到此就发布成功啦

    五、使用

    让maven项目使用nexus作为远程仓库有两种方式,第一种是在项目的pom.xml中进行更改,让单个项目使用nexus仓库;另一种是通过修改maven的配置文件settings.xml进行更改,让所有项目都使用nexus仓库。我们这里采取第二种,只需要setting.xml就可以了。还有就是拉取jar的私服仓库地址只要写我们的仓库组就ok,因为在创建这个组的时候,里面已经包含了其它三个仓库

    1、settings.xml文件

    在maven的settings文件中找到mirrors,加上我们组仓库的mirror,url填写我们创建的组地址即可,id、name可以随便填写,mirrorOf可以和我写一样的

     <mirrors>
     <mirror>
      <id>mynexus</id>
      <name>myself nexus repository</name>
      <url>http://xxx:8081/repository/me-group/</url>
      <mirrorOf>central</mirrorOf>
     </mirror>
     </mirrors>

    2、验证

    只需要在其他项目中pom文件引入即可,成功引入且在项目中可以正常使用我们刚刚定义的工具类

    到此整个流程就结束啦,如果有任何问题可以在评论区告诉我哦!!!

    以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

    上一篇:Linux内核私闯进程地址空间并修改进程内存的方法
    下一篇:浅析Hyper-V安装CentOS 8问题
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    Linux搭建自己Nexus私服的实现方法 Linux,搭建,自己,Nexus,私服,