maven私服快速入门

android 开发时,类库依赖管理一般是拷贝到相应 libs 目录然后配置文件中引用该类库,或者引用 jceneter 中第三方类库等。

前者简单粗暴但是一旦类库有新版本更新,需要重新拷贝一份库到该目录下更新,同时造成整个工程初次check下来时体积偏大。后者可能受限于网络会导致很多类库无法获取导致编译失败等问题。

假如说要是我们能在本机或者局域网服务器搭建并使用 maven 仓库,一来可以解决更新类库靠拷的原始方式,二来也不用担心连不上外网导致获取类库失败。同样可以提高团队开发的效率。

一、maven私服搭建

先在 nexus 官网 下载适合你机器的版本,我这里选择的是 nexus-3.0.1 mac 版本。下载后解压并启动服务,然后进行简单的配置,在这里就不详述了,相关内容请自行查阅。

二、maven私服仓库使用

这里假设你把 nexus 安装在了本机,仓库地址为 http://localhost:8081/repository/test/。如果把 nexus 安装在了局域网服务器,基本类似,只是仓库地址中的 localhost 改为局域网服务器 ip 。

上传

好了,我们现在新建一个项目,让该项目上传到仓库,该怎么做呢?其实很简单,就是在我们的项目的app.gradle中的android节点下添加如下代码:

apply plugin: 'maven'

  uploadArchives {
        repositories {
            mavenDeployer {
                repository(url: "http://127.0.0.1:8081/repository/test/") {
                    authentication(userName: "admin", password: "admin123")
                }
                pom.version = "0.0.2"
                pom.artifactId = "testlib"
                pom.groupId="com.test"
            }
        }
    }

简单的说明下,

repository:代表是即将上传仓库的地址

authentication:连接仓库的一些属性,用户名和密码

pom:配置仓库的基本信息,version:版本号,artifactId,groupId,则代表的是最后compile的仓库信息

下载引用

前面刚到了如何上传,当然也就少不了如何引用的了

引用的就非常简单了

1、在项目的project的build.gradle文件中添加如下信息:

allprojects {
    repositories {
        google()
        jcenter()
        mavenLocal()
    }
}

2、在项目的app的build.gradle中添加下面的代码:

 allprojects{
     repositories {
   maven {
             url "http://127.0.0.1:8081/repository/test/"
         }
     }
 }
compile "com.test.testlib:0.0.2"

到此为止,我们就能成功的引用本地仓库了。

好了,本文就简单的介绍了如何使用maven搭建私服,以及上传文件和下载使用文件

原文发布于微信公众号 - 猿份到(sparkcliff)

原文发表时间:2017-10-08

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏IT探索

qt使用笔记

最近在做跨平台的终端开发,用到了QT,把遇到的问题和解决方法在这里记录下,供大家参考。

1042
来自专栏宝哥的专栏

Docker系列学习文章 - 如何安装Docker(三)

| 导语 前面介绍了关于容器和docker的知识,那么从这篇文章开始,正式进入实操,带大家手把手安装docker环境。

1K20
来自专栏石瞳禅的互联网实验室

解决CentOS中yum安装程序时出现的"Transaction check error"错误

CentOS的VPS中默认安装过MariaDB,但是笔者还是喜欢用原来的Mysql版本;所以经过一番波折,成功把MariaDB删除并安装上了Mysql。

1101
来自专栏浪淘沙

Shell学习总结

一、基础指令     1.ls指令         ../    上级目录         ./    当前目录         ls -al     ...

1133
来自专栏漫漫全栈路

第一篇示例博客

0x000 使用Hexo配合Github Pages搭建了新的博客,后续博客内容均使用Markdown记录以便于保存发布,原有内容根据实际情况调整逐步筛选补全...

2774
来自专栏大前端开发

微信小程序中用户登录和登录态维护

提供用户登录以及维护用户的登录状态,是一个拥有用户系统的软件应用普遍需要做的事情。像微信这样的一个社交平台,如果做一个小程序应用,我们可能很少会去做一个完全脱离...

1062
来自专栏DeveWork

WordPress 添加个性化的博客宠物(汉纸篇)

之前一篇文章分享了在WordPress 添加个性化的萌妹子的方法(见:《WordPress 添加个性化的博客宠物(妹纸篇)》),不过那个不适合广大的男汉纸的博客...

2015
来自专栏猛牛哥的博客

CENTOS安装seafile专业版

4662
来自专栏前端真相

邂逅seajs 和spm

1534
来自专栏浪淘沙

Linux学习

一、基础指令     1.ls指令         ../    上级目录         ./    当前目录         ls -al     ...

994

扫码关注云+社区