Nexus创建私有Maven库使用记录

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 [email protected]:/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链接

Nexus创建私有Maven库使用记录_第1张图片
40027589.png

b. 选择版本

Nexus创建私有Maven库使用记录_第2张图片
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命令

Nexus创建私有Maven库使用记录_第3张图片
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库使用记录)