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

相关文章

来自专栏LanceToBigData

Git(一)之基本操作详解

前言   在这段时间的工作中一直都是用Git作为版本控制,只是知道简单的几个命令,没有去了解它的内部原理。所以周末有时间来系统学习。   现在的公司基本上都是用...

20410
来自专栏北京马哥教育

这些git技能够你用一年了

用git有一年了,下面是我这一年来的git使用总结,覆盖了日常使用中绝大多数的场景。嗯,至少是够用一年了,整理出来分享给大家,不明白的地方可以回复交流。 ---...

3017
来自专栏容器化

一个典型的kubernetes工作流程 - kubernetes

2612
来自专栏蓝天

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

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

1612
来自专栏LIN_ZONE

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

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

1372
来自专栏腾讯云Elasticsearch Service

Elasticsearch 分片恢复并发过高引发的bug分析

       大家好,今天为大家分享一次 ES 的填坑经验。主要是关于集群恢复过程中,分片恢复并发数调整过大导致集群 hang 住的问题。

9.2K2
来自专栏IMWeb前端团队

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

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

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

linux软件包管理工具

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

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

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

2030
来自专栏应用案例

Hexo博客的安装部署及多电脑同步

Hexo安装教程很多,我这里尽可能的讲的细一些,把容易踩坑的地方以及后期多电脑同步所遇到的问题列出来,以便给自己及大家参考。本文主要讲解安装部署后源文件同步问题...

1.3K7

扫码关注云+社区

领取腾讯云代金券