美文网首页
Android私服maven配置使用

Android私服maven配置使用

作者: zzzz简 | 来源:发表于2021-11-24 14:33 被阅读0次

    需求背景

    在日常项目开发过程中,一些公共模块在不同的项目中被引用,此时如果对公共模块进行修改,那么需要修改好几个项目,不利于后期维护,此刻可以去搭建私有maven的方式去发布该模块.

    一.私有maven搭建

    1这里我们需要下载nexus来部署maven服务:
    下载地址:https://www.sonatype.com/thanks/repo-oss?submissionGuid=bc68a73f-4cff-4a92-b4f2-7c0cefe09233
    根据自己的需求去下载对应的版本:

    image.png
    我这里是mac系统 ,下载完成后解压, 会有两个文件夹:
    image.png

    选择第一个文件夹,进入bin目录,并打开终端,执行./nexus start 命令,运行后截图如下:


    image.png

    浏览器输入localhost:8081.可以访问到这个页面就算成功了,

    image.png

    默认账号是admin 初始化密码是在我们进入主页后,默认在解压目录下生成


    image.png image.png

    至此,我们的maven服务就是搭建成功了,是不是很简单
    登陆成功后会看到右侧有一个列表,这里我们只关注截图里maven仓库,可以看到这里仓库有三种类型


    image.png

    下面先了解这三种类型仓库的区别:

    1. host
      用于存储module代码,这里需要注意的地方是,我们配置发布module的仓库地址,一定要是host类型的仓库,如果是proxy类型和group类型,就会报405错误
      2.proxy
      用于配置第三方仓库,比如我们的module里如果用到了rxjava, retrofit这些第三方,就可以新建一个proxy仓库来指向mavenCenter仓库地址和阿里的maven仓库地址,这样别人在依赖我们的项目时,能够自动下载这些库
      3.group
      组合类型仓库,当我们把项目代码发布,并且配置好了proxy仓库后,我们就需要用这个仓库来关联Host仓库和proxy仓库,我们对外提供的仓库地址也是group仓库地址,这一点一定要特别特别注意

    创建仓库

    上面截图是我们解压完成之后,默认生成的仓库,我们可以直接使用这些仓库, 如果不想用这些仓库,可以自己创建仓库,创建流程如下


    image.png

    按照顺序操作,会出现一个页面,这里type选择file,
    名字自己用公司名或者项目名命名即可,这一步的作用是创建存储区域


    image.png
    接下来就是开始创建仓库了,依然是在设置页面
    image.png

    点击之后会出现一大串列表,我们只要选择maven类型仓库就可以,这里我们选择maven类型仓库即可,因为我这里是上传aar,所以我选择host类型


    image.png

    点进去之后出现创建页面,这里名字我们自己填写公司名或者项目名即可, 然后还有一个BlobStore选项,这里就选择前面我们创建的就可以,创建仓库的时候有一个VersionPolicy选项, 常用的有两个选项
    Release:发布版本的时候以版本号为唯一标识,如果已经部署相同版本的项目,则会提示报错
    Snapshot: 发布版本的时候可以发布相同版本的项目,依赖的时候会自动依赖最新上传的

    image.png

    仓库搭建好后,回到仓库列表页面,点击copy按钮即可获取上传maven地址, 至此我们就可以用这个链接,完成项目的发布


    image.png

    发布项目


    apply plugin: 'maven'

    uploadArchives {
    configuration = configurations.archives
    repositories {
    mavenDeployer {
    repository(url: MAVEN_REPO_RELEASE_URL) {
    authentication(userName: NEXUS_USERNAME, password: NEXUS_PASSWORD)
    }
    pom.project {
    version '1.0.4'
    artifactId 'AndroidPaySDK'
    groupId GROUP_ID
    packaging TYPE
    }
    }
    }
    }


    编译项目之后,右侧gradleTask列表就能找到upload命令,点击即可上传成功


    image.png

    后续可以在浏览器看到我们上传的aar了


    image.png

    这里只是上传我们的aar,如果aar里依赖了第三方库 比如rxjava,就要配置第三方代理仓库,常用的maven仓库地址我们都给配齐:
    ...
    maven { url 'http://maven.aliyun.com/nexus/content/groups/public/' }
    maven { url 'http://maven.aliyun.com/nexus/content/repositories/jcenter' }
    maven { url 'http://maven.aliyun.com/nexus/content/repositories/google' }
    maven { url 'http://maven.aliyun.com/nexus/content/repositories/gradle-plugin' }
    maven { url 'https://jitpack.io' }
    maven { url 'https://repo1.maven.org/maven2/' }
    maven { url 'https://developer.huawei.com/repo/'}
    ...

    image.png image.png

    配置好代理仓库之后,接下就是创建group仓库了,创建group仓库之后同上,配置的时候把我们需要的仓库移过去就可以了

    image.png

    仓库使用

    复制配置好的group仓库地址, 在新项目里去引用就可以了


    image.png image.png

    相关文章

      网友评论

          本文标题:Android私服maven配置使用

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