Maven系列(二) -- 将项目上传到maven仓库私服

2,271

     前言

        之前简单说了下Maven的搭建,现在跟大家说一下如何将自己的aar传到我们新搭建的maven仓库里面,接下来我们就从最基本的新建一个library开始讲述整个流程,话不多说,让我们把愉快的开始吧。

     准备工作

        首先,开始之前,你需要新建一个library,打开你的Android studio ,选择File -> New -> New Module:
        接下来选择Android Library:
        然后写上你的需要开源的代码,之后便是重点了-配置项目

     本地AAR

        项目配置分两种,一种是直接打出本地的aar包并指定路径,另外一种是将打出的aar包上传到我们搭建的本地的maven仓库里面

       打出aar到本地

        你需要在你的library的build.gradle里面去配置这样的代码
        切记,一定不要忘记添加:apply plugin: 'maven'
        其中各参数代表的意义如下:
        repository:代表本地的相对路径,这里我写的意思是当前module的上一层目录新建一个名为repository的文件夹,生成的aar会放到这个路径下面
        pom.groupId:代表唯一标识(可以任意,不过一般都是模块包名)
        pom.artifactId: 项目名称(可以任意,不过一般为类库模块名称)
        pom.version:库的版本号
        然后我点击右上角的Sync now按钮同步一下代码,之后你会在你的右侧的gradle菜单里面的你对应的module下面的Task下面出现了一个名为upload的文件夹,下面会有一个名为uploadArchives的task:
        之后只要双击执行一下uploadArchives这个任务就会在对应的目录下生成我们需要的aar了,具体如下截图:
        其中红色标注的就是我们打出来的aar文件
        接下来就是在项目中引用使用我们打出来的aar了

       使用本地AAR

        使用的时候需要在我们使用的module的build.gradle里面我们aar的路径:
        一般是文件的绝对路径,只需引用到我们在生成aar的时候传递的那层路径就行,在这里即是repository,然后你就可以像正常的引用jcenter中的库一样引用你打出来的aar库了:
        引用的各段参数形式是如下:
        implementation 'groupId:artifactId:version'
        对照关系如下图:
        本地AAR引用结果
        至此,引用结束,让我们来看下一下引用的效果吧:

     提交到本地Maven仓库AAR

        刚才讲述了如何配置项目打出本地的aar,并且如何引用本地的aar,以及个引用参数的含义,接下来讲述一下如何配置项目将打出的aar上传到aar仓库里面

       上传配置


        各参数含义与本地打包aar基本一致,但是多了一个配置maven用户名密码的选项authentication,而url也替换了了的maven的地址,我们替换的maven的地址是这样的:http://localhost:8081/repository/maven-releases/,其中localhost:8081标识是服务器地址,maven-releases仓库分组的名称。
        最后再双击uploadArchives这个task就可以上传我们的库到maven仓库了,那我们赶紧去看看maven仓库里我们的库是什么样子吧;
        查看方式上一篇文章《Maven系列(一) -- maven仓库的搭建》一文已经说过,在浏览器中输入"localhost:8081"会看到你的maven仓库的后台,然后点击Browse:


        因为我们是上传到maven-release分组下面了,所以点击release就可以看到我们的上传的库的版本列表:
        如截图红框所示,这就是其中一个版本的所有文件,包括aar文件、aar的md5文件、aar的签名文件、pom文件、pom文件的md5文件、pom文件的签名文件等

       使用Maven AAR

        与引用本地aar的形式一样,第一步需要在使用方的module下面的build.gradle文件里修改maven的url为我们的maven仓库里库的地址:
        也即是我们上传本地的库倒排maven仓库时候填写的url地址,具体引用库的方式和引用本地的aar文件一样:

       Maven仓库引用结果

        因为代码一样,当然运行效果也是一样的:

     完结

        至此,我们讲了两种封装开源库的方式,一种是不太友好的本地aar的形式,第二种是上传到maven私服仓库里面,这样一整个项目组或者公司内部就可以用这个库了,减少代码开发量,方便维护。

        之后还会将如何将自己的开源库上传到谷歌的jcenter仓库中,让更多人使用你的开源库,请持续关注,敬请期待哈

        如要转载,请注明出处,谢谢!
   欢迎关注我的博客,地址如下:
   博客园地址:www.cnblogs.com/zhengjunfei…
   简书地址:www.jianshu.com/u/da06e00ed…
        掘金地址:juejin.im/user/5a2a55…
        欢迎大家扫描关注我的微信公众号,我会定期发布一些博客,分享一些知识点