zoukankan      html  css  js  c++  java
  • Maven服务器搭建

    Nexus服务器软件安装和配置

    目前比较流行的使用nexus搭建maven私有服务器,其实很简单,它就是一个web系统,从官方下载的包默认内嵌了jetty容器,所以需要提前安装好JVM,并配置好环境变量,接下来只需要简单配置并运行即可。

    本文参考的博客:http://www.361way.com/nexus-maven-private-warehouse/3108.html

    • 官方下载Nexus oos版本:https://www.sonatype.com/download-oss-sonatype

    • 安装下载后解压,有2个目录:nexus-3.4.0-02 sonatype-work

      nexus-3.4.0-02 -> bin目录有3个文件nexus(执行程序)、nexus.rc(配置文件,配置运行nexus的用户)、nexus.vmproperties(配置文件,配置nexus运行JVM虚拟机参数)
      只需要设置nexus.rc中为:run_as_user="lkqm", 注意nexus基于安全考虑lkqm不能是root。

    • 启动停止
      bin目录下执行: nexus start启动,nexus status查看运行状态, nexus run运行并打印结果会占用终端,nexus stop停止。

    注:Nexus3版本以上需要jdk1.8版本。linux安装nexus运行需要操作sonatype-work目录下文件,所以保证run_as_user指定的用户对整个目录有读写权限。

    linux下安装命令参考:

    cd ~/donwload
    
    # 解压到指定目录
    sudo mkdir /usr/local/nexus
    suod tar xzvf nexus-3.4.0-02-unix.tar.gz -C /usr/local/nexus
    
    # 修改nexus目录的权限
    cd /usr/local/nexus
    sudo chown -R lkqm .
    
    # 修改配置文件nexus.rc
    # 运行
    cd nexus-3.4.0-02/bin
    ./nexus start
    

    进入WEB管理端,配置仓库

    浏览器中访问192.168.0.1:8081, 未登录状态,只能查看服务器端哪些仓库,以及有那些包(jar), 左侧树形菜单brow点击可以查看。

    点击右上角登录后进入配置界面,默认的管理员账户:admin, 密码admin123,左侧树形菜单:repository,进入仓库配置(CRUD)。

    仓库分为3种:

    1. proxy 代理,作用就是代理其他maven仓库
    2. hosted 主机,作用是保存自己团队上传的组件(jar包)
    3. group 组,作用是结果上面两种的仓库,提供统一的包下载访问路径。

    到此服务端,配置完毕。

    注:默认提供了多个仓库,可以参照配置。

    配置maven的setting.xml文件

    为了让maven项目,从私有服务器下载组建(jar包),需要在maven的配置文件setting.xml -> mirrors添加mirror元素:

    <mirror>
          <id>lkqm</id>
          <mirrorOf>central</mirrorOf>
          <name>My Server Maven.</name>
          <url>http://localhost:8081/repository/maven-public/</url>
    </mirror>
    

    url标签的值,通常指向group类型的仓库,这样我们就可以下载共有的和私有的组件(jar包)。

    上传本地项目到服务器

    我们需要将自己的组件(jar包)上传到私有的maven服务器中,需要在指定项目的pom.xml中,添加如下配置,然后执行maven命令deploy即可将项目打包上传到服务器:

        <!-- 构建分发管理:本地构建上传到私有服务器 -->
        <distributionManagement>
            <repository>
                <id>nexus-releases</id>
                <name>Nexus Release Repository</name>
                <url>http://localhost:8081/repository/maven-release/</url>
            </repository>
            <snapshotRepository>
                <id>nexus-snapshots</id>
                <name>Nexus Snapshot Repository</name>
                <url>http://localhost:8081/repository/maven-snapshot/</url>
            </snapshotRepository>
        </distributionManagement>
    

    url标签的值,指向hosted类型的仓库,用于上传私有的组件(jar包)。

    由于仓库需要账户密码访问,因此根据上面配置的id的值,去maven配置文件setting.xml -> servers节点中查找,内容如下:

    <servers>
        <server>
          <id>nexus-release</id>
          <username>admin</username>
          <password>199528</password>
        </server>
    
        <server>
          <id>nexus-snapshots</id>
          <username>admin</username>
          <password>199528</password>
        </server>
     </servers>
    
  • 相关阅读:
    (1)李宏毅深度学习-----机器学习简介
    Git命令之不得不知的git stash暂存命令
    Http2升级方案调研
    神奇的 SQL 之别样的写法 → 行行比较
    熔断机制
    限流算法
    状态机
    布隆过滤器
    负载均衡算法
    K8S Ingress
  • 原文地址:https://www.cnblogs.com/lkqm/p/7173869.html
Copyright © 2011-2022 走看看