美文网首页
Nexus创建私有Maven库使用记录

Nexus创建私有Maven库使用记录

作者: arman007 | 来源:发表于2018-04-21 12:17 被阅读0次

    1 准备工作

    笔者将仓库建立在阿里云服务器上,因此需要一些准备工作。当然,使用本地电脑也可以。

    使用本地电脑可以直接跳过1.1,直接从1.2开始

    1.1 一台云服务器

    1.1.1 安装openssh-clients

    同步文件使用的是scp命令,scp命令集成在openssh-clients工具中

    
    $ yum install openssh-clients
    
    

    1.1.2 安装jdk

    a. 下载jdk文件,上传到服务器中

    
    //scp {filepath} {user}@{ip}:{path}
    
    $ scp ~/Download/jdk-8u161-linux-x64.tar.gz arman@xx.xxx.xx.xxx:/home/arman
    
    

    b. 解压jdk包

    
    $ tar -zxvf jdk-8u161-linux-x64.tar.gz
    
    

    c. 修改/etc/profile文件:

    
    export JAVA_HOME=/usr/lib/jvm/jdk1.8.0_131  
    export JRE_HOME=${JAVA_HOME}/jre  
    export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib  
    export PATH=${JAVA_HOME}/bin:$PATH
    
    //other
    
    //...
    
    

    d. 执行source命令source /etc/profile

    1.2 安装Nexus

    1.2.1 下载

    a. 页面打开后是这个样子的,如果有出入请自行寻找GET REPOSITORY OSS链接

    40027589.png

    b. 选择版本

    40230480.png

    ps: 如果下载文件只有几K,关闭迅雷或者其他下载工具,使用浏览器下载

    1.2.2 安装和运行

    a. 同步文件到服务器

    
    scp file user@ip:path
    
    

    b. 解压

    
    $ tar -zxvf nexus-2.14.8-01-bundle.tar.gz
    
    

    c. 运行

    
    nexus-2.14.8-01/bin/nexus start
    
    

    d. 公开端口8081,阿里云在控制台添加安全规则,其他请自行摸索

    2. Nexus使用

    主页地址:http://ip:8081/nexus

    详细介绍请参考这篇文章

    3. 使用Android Studio上传aar到私有仓库

    3.1 在gradle.properties中配置变量

    
    MAVEN_URL=http://ip:8081/nexus/content/repositories/release/
    MAVEN_SNAPSHOT_URL=http://ip:8081/nexus/content/repositories/Snapshots/
    #maven groupId
    GROUP=public
    #账号
    NEXUS_USERNAME=admin
    #密码
    NEXUS_PASSWORD=admin123
    # groupid(最终你引用时的名字)
    GROUP_ID=com.group.id
    # type
    TYPE=aar
    # description
    DESCRIPTION=dependences lib
    
    

    3.2 在lib的buil.gradle中创建task

    
    apply plugin: 'com.android.library'
    apply plugin: 'maven'
    
    android {
         //others
    
        //上传task
        uploadArchives {
            configuration = configurations.archives
            repositories {
                mavenDeployer {
                    snapshotRepository(url: MAVEN_SNAPSHOT_URL) {
                        authentication(userName: NEXUS_USERNAME, password: NEXUS_PASSWORD)
                    }
                    repository(url: MAVEN_URL) {
                        authentication(userName: NEXUS_USERNAME, password: NEXUS_PASSWORD)
                    }
                    pom.project {
                        //版本,有更新时修改版本号,在上传
                        version '1.0.0'
                        //名字
                        artifactId 'artifactId'
                        groupId GROUP_ID
                        packaging 'aar'
                        description 'XXXXX'
                    }
                }
            }
        }
        artifacts {
            //编译的源码类型
            archives file('lib.aar')
        }
    }
    
    //others
    
    

    3.3 上传

    同步工程,在右侧的Gradle面板中选择执行下图task命令

    53363546.png

    4 使用者添加依赖

    a. 添加仓库地址

    
    allprojects {
        repositories {
            //others
    
            maven { url 'http://ip:8081/nexus/content/groups/public/' }
        }
    }
    
    

    b. 添加依赖

    
    dependencies {
         //others
    
         compile('com.group.id:artifactId:1.0.1')
    }
    
    

    相关文章

      网友评论

          本文标题:Nexus创建私有Maven库使用记录

          本文链接:https://www.haomeiwen.com/subject/xvqxlftx.html