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

相关文章

来自专栏zhangdd.com

使用静态ffmpeg二进制文件秒安装ffmpeg

说明:我们安装很多视频程序的时候都需要用到ffmpeg,差不多都喜欢用编译安装,过程很慢,而且有的系统会因为一些依赖出现很多问题,导致安装失败。有时候就算ffm...

1151
来自专栏武培轩的专栏

当你在浏览器地址栏输入一个URL后回车,将会发生的事情?

当我们在浏览器的地址栏输入 www.cnblogs.com ,然后回车,回车到看到页面到底发生了什么呢? 域名解析 --> 发起TCP的3次握手 --> 建立T...

3287
来自专栏LIN_ZONE

Linux各目录及每个目录的详细介绍(转载)

Linux目录和Windows目录有着很大的不同,Linux目录类似一个树,最顶层是其根目录,如下图:

902
来自专栏IT可乐

Linux系列教程(十八)——Linux文件系统管理之文件系统常用命令

  通过前面两篇博客,我们介绍了Linux系统的权限管理。Linux权限管理之ACL权限 介绍了通过设定 ACL 权限,我们为某个用户指定某个文件的特定权限,这...

18010
来自专栏蓝天

全面了解安装使用Linux下的日志文件系统

文件系统是用来管理和组织保存在磁盘驱动器上的数据的系统软件,其实现了数据完整性的保证,也就是保证写入磁盘的数据和随后读出的内容的一致性。除了保存以文件方式存储的...

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

如何在CentOS 7上安装和配置mod_deflate

Mod_deflate是一个Apache模块,它允许在发送到客户端之前压缩Web服务器的输出。一旦您的网站内容的大小被压缩,其大小就会变小,客户端可以更快地下载...

1040
来自专栏腾讯DevOps

Git的增改查删

Windows系统:在官网直接下载https://git-scm.com/downloads,安装即可

1884
来自专栏奔跑的蛙牛技术博客

数据库编程

某些jdbc的jar文件自动注册为jar文件,不支持的话需要手动注册,可以在java程序注册,可以通过命令行注入

863
来自专栏IMWeb前端团队

替换Fiddler的跨平台调试工具whistlejs试用

本文作者:IMWeb 黄龙 原文出处:IMWeb社区 未经同意,禁止转载 whistlejs https://github.com/avwo/whis...

2467
来自专栏晨星先生的自留地

linux软件包管理工具

1783

扫码关注云+社区