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 条评论
登录 后参与评论

相关文章

来自专栏从零开始学自动化测试

selenium+python自动化80-文件下载(不弹询问框)

前言 上一篇是点弹出框上的按钮去保存文件,本篇介绍一种更加优雅的方法,加载Firefox和Chrome的配置文件,不弹出询问框后台下载。 一、FirefoxPr...

2685
来自专栏琯琯博客

Yii2 学习笔记之 Gii

2424
来自专栏Android干货

关于Eclipse 和 IDEA 导入library库文件 的步骤

3517
来自专栏小白鼠

Flutter Start

image.png FLUTTER_STORAGE_BASE_URL https://storage.flutter-io.cn

763
来自专栏ytkah

dedecms还原数据时要选对备份目录 不然会提示function文件出错

  小李子最近在学习dedecms,在网上下载了一个二次开发的系统,顺利安装后想要还原一下作者的备份数据,可一直没有成功,让ytkah查看一下什么情况。进到后台...

3457
来自专栏云计算教程系列

如何在Ubuntu 18.04上安装和配置Postfix

Postfix是一种流行的开源邮件传输代理(MTA),可用于在Linux系统上路由和传递电子邮件。据估计,互联网上约有25%的公共邮件服务器运行Postfix。

1011
来自专栏HTML5学堂

PHP的文件上传操作

HTML5学堂:关于文件上传,主要包括“构建基本表单”-“使用AJAX发送请求,上传文件”-“使用PHP获取文件基本信息”-“执行SQL语言,返回基本图片路径”...

2765
来自专栏三木的博客

发行版制作及Anaconda基础

Anaconda是用于Fedora, RHEL等Linux发行版的安装程序,可以实现通过LiveCD,PXE,NFS等方式安装Linux系统以及利用kickst...

18910
来自专栏zaking's

走近webpack(1)--多入口及devServer的使用

  上一篇文章留下了一些问题,如果你没看过上一篇文章,可以在我的博客里查找,或者直接从这篇文章开始也是没问题的。  const path = require('...

2605
来自专栏零基础使用Django2.0.1打造在线教育网站

零基础使用Django2.0.1打造在线教育网站(十一):登录页面实现

努力与运动兼备~~~有任何问题可以加我好友或者关注微信公众号,欢迎交流,我们一起进步!

61

扫描关注云+社区