Maven私服搭建

在局域网中搭建私服,可以有效的节省互联网的带宽,加快项目的构建速度。

  • 了解maven私服
  • maven私服搭建流程
  • 实战项目如何接入maven私服
说明:
maven本地仓库用的很少。
中央仓库由一些大厂维护的,面向所有人。
其他公共库,个人可以搭建库然后放到公网上给别人使用。
maven私服的优势

nexus搭建过程非常简单,去官网下载,官网下载非常慢,大家耐心的去下载吧。

下载好后进入nexus的bin目录,然后执行./nexus start命令就好了。

然后输入http://localhost:8081/

点击右上角的登录,账号admin,密码admin123

接下来我们就开始创建我们的私有库。

按照上面的操作步骤新建,在下个页面输入仓库的名字后,直接点击最下面的Create repository按钮即可。
比如我创建了一个maven_test_snapshot库,
然后点击右边的copy按钮,复制链接 http://localhost:8081/repository/maven_test_snapshot/,这个链接地址接下来会用到。
接着我们新建一个项目,项目名称叫maven_test,然后我们新建一个module,module类型是Android Library。

然后我们的目的是将lib_test项目上传到maven仓库中,所以我们需要修改lib_test项目的build.gradle文件,修改如下:

注意先引入maven插件,apply plugin: ‘maven’。
以上用到的变量需要在gradle.properties文件中定义,变量定义如下:

NEXUS_REPOSITORY_URL=http://localhost:8081/repository/maven_test_snapshot/
POM_GROUPID=com.test.android
POM_PACKAGING=aar 
NEXUS_USERNAME=admin 
NEXUS_PASSWORD=admin123

然后我们点击gradle的同步按钮,也就是右上角那个大象加一个箭头的。注意单词拼写,别拼写错了。接着我们就开始要上传了。

双击uploadArchives来上传我们的lib_test库。
上传成功后,我们就能在nexus网页端看到我们上传的仓库,接下来我们就能使用了。

使用之前我们需要在主工程的build.gradle中加入如下依赖:

buildscript {
    repositories {
        google()
        jcenter()
        mavenCentral()
        maven {
            url 'http://localhost:8081/repository/maven_test_snapshot/'
            credentials {
                username 'admin'
                password 'admin123'
            }
        }
    }
    dependencies {
        classpath "com.android.tools.build:gradle:4.0.0"
    }
}

//工程引入maven仓库
allprojects {
    repositories {
        google()
        jcenter()
        mavenCentral()
        maven {
            url 'http://localhost:8081/repository/maven_test_snapshot/'
            credentials {
                username 'admin'
                password 'admin123'
            }
        }
    }
}

最后在我们app的build.gradle中引入:implementation 'com.test.android:lib_test:1.0.0-SNAPSHOT'

以上就是nexus私服的搭建、本地库上传以及私有库的使用。