android mac搭建Nexus3.+私有maven

2022-07-29,,,,

android 搭建Nexus3.+私有maven

上次讲了搭建本地maven方法,这次说下Nexus3.+搭建方案(本地端口模拟远端)。

安装篇

下载

https://www.sonatype.com/nexus/repository-oss/download
nexus官网
由于某种特殊原因,不能访问,这里我也只有mac的3.0版本提供下载:
链接:https://pan.baidu.com/s/1ny3zKC4TbJHjKabe33xEQQ 密码:dgvy

安装

mac上直接解压就行了。

启动

在控制台的该目录下输入以下命令:

/Users/apppp/Documents/nexus-mac/nexus-3.26.0-04-mac/nexus-3.26.0-04/bin/nexus start

启动nexus,然后在浏览器输入以下
http://127.0.0.1:8081/或者*localhost:8081*可以进入nexus的操作界面了。
建议使用google浏览器打开,部分浏览器打不开

操作篇

进入页面会要求登录,需要账号和密码,nexus3.0 的 初始密码放在以下目录

/Users/apppp/Documents/nexus-mac/nexus-3.26.0-04-mac/sonatype-work/nexus3/admin.password

打开admin.password文件就可以查看初始账号和密码了。

初始密码登录后会要求修改账号和密码,安装提升流程走完就行了。最后到这个页面:

创建仓库

点到设置页面

在仓库选项下点击Create repository

选择Recipe为maven2(hosted),本地代理设置为hosted,如果与远端服务器链接需要选择proxy

选择后界面如下:

创建后:

创建后还是可以在设置页面点击修改的。

studio配置

原理跟本地maven配置大同小异。
在项目根目录创建upload-for-nexus.gradle,最好不同的仓库配置不同的gradle文件。

apply plugin: 'maven'

uploadArchives {
    repositories.mavenDeployer {
        repository(url:"http://127.0.0.1:8081/repository/news/") {
            authentication(userName:"admin", password:"admin123")
        }
        // 以com.android.support:appcompat-v7:25.1.0为对比
        pom.version="0.0.1" // 对应版本号 25.1.0
        pom.artifactId="news" // 对应 appcompat-v7 同时要跟仓库命名对应
        pom.groupId="com.hujin.wan.news" // com.android.support
    }
}

在news的module里面的build.gradle文件导入:

apply from: rootProject.file('upload-for-nexus.gradle')

在项目的根build.gradle文件下添加仓库的地址和密码:

apply from: "config.gradle"
buildscript {
    repositories {
        google()
        jcenter()
        maven {
            credentials {
                username = 'admin'
                password = 'admin123'
            }
            url "http://127.0.0.1:8081/repository/news/"
        }
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:3.5.4'
        classpath 'com.billy.android:cc-register:1.1.2'
        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
    }
}

allprojects {
    repositories {
        google()
        jcenter()
        mavenLocal()
        //申明本地Macen仓库地址

        maven {
            url 'file:/Users/apppp/AndroidStudioProjects/wan/repository'
        }

        maven {
            credentials {
                username = 'admin'
                password = 'admin123'
            }
            url "http://127.0.0.1:8081/repository/news/"
        }
    }
}

task clean(type: Delete) {
    delete rootProject.buildDir
}

在右边侧边栏Gradle下:运行uploadArchives的task

出现如下就表示成功了:

再回到nexus上面的仓库里,就有我们上传的代码了:

本地就可以引用远程的包了:

    implementation 'com.hujin.wan.news:news:0.0.1'

注意点

  • 官网下载是需要梯子的
  • 仓库的命名要和studio里面的artifactId保持一致
  • 最好使用本地链接,而不是localhost

本文地址:https://blog.csdn.net/HUandroid/article/details/108594243

《android mac搭建Nexus3.+私有maven.doc》

下载本文的Word格式文档,以方便收藏与打印。