Android Team Leader必备技能:利用Nexus搭建Maven私服

概述

  • Nexus是一个基于maven的仓库管理的社区项目。主要的使用场景就是可以在局域网搭建一个maven私服,用来部署第三方公共构件或者作为远程仓库在该局域网的一个代理。

Nexus安装

  1. Nexus依赖JDK1.8+,确保设备上已安装配置JDK1.8+的开发环境。

  2. Nexus官网,找到Nexus Repository Manager 3并下载。

  3. 解压到任意目录下,在终端中移动到该目录,再进入到nexus-/bin下。执行./nexus run

  4. 服务起来后,默认端口为8081。在浏览器上输入http://127.0.0.1:8081/即可访问到Nexus。

    Android Team Leader必备技能:利用Nexus搭建Maven私服_第1张图片
    Nexus首页

Nexus使用

首次进入Nexus

  • 点击Nexus首页的右上角Sign in,使用默认的管理员账号进行登录。(账号名为admin,密码为admin123。)

创建用户

  1. 进入创建用户的界面。

    Android Team Leader必备技能:利用Nexus搭建Maven私服_第2张图片
    进入创建用户界面的步骤-w417
  2. 填写用户资料并提交即可。注意以下几点:

    ID和Password关系到Gradle的打包上传,要牢记。

    Status设为Active。

    Roles是角色权限控制,可选值有nx-adminnx-anonymous,可多选。

创建仓库

  1. 进入创建仓库界面。

    Android Team Leader必备技能:利用Nexus搭建Maven私服_第3张图片
    进入创建仓库界面的步骤-w411
  2. Recipe的选择:

    hosted:本地仓库,用于部署个人或团队的公共构件。

    proxy:代理仓库,用于代理远程仓库,如maven中央仓库。

    group:仓库组,用来合并多个hosted/proxy仓库。

  3. 填写仓库资料并提交。注意以下几点:

    Name是仓库名,是该仓库的唯一标识,常用反向域名来书写,如tech.daking。

  4. 创建成功后,可在仓库列表界面看到新仓库,且可复制其URL。

    Android Team Leader必备技能:利用Nexus搭建Maven私服_第4张图片
    仓库列表界面-w1229
    Android Team Leader必备技能:利用Nexus搭建Maven私服_第5张图片
    复制仓库URL-w475

上传和使用aar

上传aar

  • 修改工程根build.gradle文件的内容如下:
buildscript {
    repositories {
        jcenter()
        maven {
            url "http://127.0.0.1:8081/repository/tech.daking/" // 仓库URL
        }
    }
    ...
}

allprojects {
    repositories {
        jcenter()
        maven {
            url "http://127.0.0.1:8081/repository/tech.daking/" // 仓库URL
        }
    }
}
  • 修改要打包为aar的模块build.gradle文件的内容如下:
apply plugin: "maven"

def nexusUrl = 'http://127.0.0.1:8081/repository/tech.daking/' // 仓库URL
def nexusUsername = 'Nexus账号'
def nexusPassword = 'Nexus密码'

uploadArchives {
    repositories {
        mavenDeployer {
            repository(url: nexusUrl) {
                authentication(userName: nexusUsername, password: nexusPassword)
            }
            pom.project {
                packaging "aar" // 打包成aar
                groupId "tech.daking.android" // 组织名
                artifactId project.name // 库名
                version "1.0.0" // 版本号
            }
        }
    }
}
  • 执行gradle uploadArchives命令就会进行打包和上传。上传成功后,可在Nexus网站上看到刚上传的库。

    Android Team Leader必备技能:利用Nexus搭建Maven私服_第6张图片
    刚上传的库
    Android Team Leader必备技能:利用Nexus搭建Maven私服_第7张图片
    库信息-w341

使用aar

  • 修改工程根build.gradle文件的内容如下:
buildscript {
    repositories {
        jcenter()
        maven {
            url "http://127.0.0.1:8081/repository/tech.daking/" // 仓库URL
        }
    }
    ...
}

allprojects {
    repositories {
        jcenter()
        maven {
            url "http://127.0.0.1:8081/repository/tech.daking/" // 仓库URL
        }
    }
}
  • 修改要依赖此aar的模块build.gradle文件的内容如下:
dependencies {
    // 格式为:"${group}:${artifactId}:${version}",即组织名:库名:版本号。
    compile "tech.daking.android:zxing-android:1.0.0"
}

我的博客

你可能感兴趣的:(Android Team Leader必备技能:利用Nexus搭建Maven私服)