一、背景

  • 【Maven学习】Nexus OSS私服仓库的安装和配置
    http://blog.csdn.net/ouyang_peng/article/details/78793038
  • 【Maven学习】Nexus OSS私服仓库的备份与迁移
    http://blog.csdn.net/ouyang_peng/article/details/78796215

通过前面的两篇博客,我们已经将Nexus搭建好并且迁移到了新的机房,现在我发现我们之前的Nexus私服服务器居然没有对第三方经常使用的JCenter等没有做代理。好吧,那么我来讲我们android开发中遇到的常见第三方的Maven仓库都做好代理,加入进来。

通过代理,我们可以将代理的远程的Maven仓库中的一些资料下载到我们的Nexus私服务器上,然后平时我们的项目开发就是直接访问局域网内的私服即可。这样做的好处有两个:

  • 既节省了网络带宽也会加速项目搭建的进程
  • 防止第三方Maven仓库突然无法访问导致项目无法编译的情况。比如JCenter前段时间就无法访问,导致项目无法编译,只能找到国内的其他镜像地址才能够进行编译。

二、添加Proxy Repository

目前我们的Nexus服务器上的仓库如下所示:

现在我们来添加JCenter的Proxy,使用管理员账户登录后台之后,点击Add按钮

然后选择类型为【Proxy Respository】

然后会生成一个新的Proxy Respository,如下图所示

我们需要填好 【Respository ID】、【Respository Name】、【Remote Storage Location】等配置

如上图所示,【Respository ID】我们设置为JCenter、【Respository Name】我们设置为JCenter、【Remote Storage Location】我们设置为http://jcenter.bintray.com/,然后保存。

这样我们就可以在 Repository列表中看到JCenter这个 Repository了,如下图所示:

同样的方式,我们可以将jitpack也加入进来,配置如下图

三、将Proxy Repository 添加到Repository Group中

Nexus 中仓库组的概念是Maven没有的,在Maven看来,不管你是hosted也好,proxy也好,或者group也好,对我都是一样的,我只管根据 groupId,artifactId,version等信息向你要构件。

为了方便Maven的配置,Nexus能够将多个仓库,hosted或者 proxy合并成一个group,这样,Maven只需要依赖于一个group,便能使用所有该group包含的仓库的内容。

我们内部早已经创建好了一个Repository Group,名为android public,如下图所示:

可以看到我们这个组中管理的Repository有很多,刚刚新建号的JCenter和jitpack并不属于这个组,因此我们选中之后,将JCenter和jitpack移动到这个组的管理中。

加入好之后,如下图所示

这样我们以后想要使用JCenter和jitpack中的库资源的话,直接使用android public这个Repository Group即可。

PS:最近我们又将google()和mavenCentral()的代理也都加入进来了,如下图所示:

  • google() : https://dl.google.com/dl/android/maven2/
  • mavenCentral() : https://repo1.maven.org/maven2/
  • jcenter() : http://jcenter.bintray.com/
  • jitpack: https://jitpack.io/

四、Android Studio 项目中简化Maven的配置

之前我们在项目的build.gradle文件中,配置了很多的Maven库,如下所示

除了我们自己的 android_pubilic 之外,还有 jcenter、jitpack等maven仓库。现在我们只需要配置一条即可,如下图所示:

修改完代码之后,重新编译。

从编译的输出日志我们可以看得出来,下载很多从jcenter上的第三方AAR,现在都是从我们配置好的Proxy服务器上下载了。

编译完毕之后,我们查看Nexus服务器上的JCenter的【Browse Storage】,可以发现我们刚才编译所需要的资源,都已经下载到了我们的Proxy代理服务器上。以后我们再使用相同的资源的话,直接从Proxy服务器下载,速度会快很多。

参考链接

  • http://blog.csdn.net/liujiahan629629/article/details/39272321
  • http://blog.csdn.net/u012939909/article/details/65631081
  • http://blog.csdn.net/ouyang_peng/article/details/78793038
  • http://blog.csdn.net/ouyang_peng/article/details/78796215

作者:欧阳鹏 欢迎转载,与人分享是进步的源泉!

转载请保留原文地址:http://blog.csdn.net/ouyang_peng/article/details/78804637
本文同步发表在阿里云栖:https://yq.aliyun.com/articles/290892?spm=5176.blogshare290892.0.0.6wcFaS

如果觉得本文对您有所帮助,欢迎您扫码下图所示的支付宝和微信支付二维码对本文进行随意打赏。您的支持将鼓励我继续创作!

【Maven学习】Nexus私服代理其他第三方的Maven仓库相关推荐

  1. Maven搭建Nexus私服

    私服的介绍 1 什么是私服 私服是一种特殊的远程仓库,它是架设在局域网的仓库服务,私服代理广域网上的远程仓库,供局域网使用. 在企业开发中,私服的建设是有必要的,其好处如下: 1.1 节省资金.外网带 ...

  2. Maven配置nexus私服地址

    一般java开发都会用到nexus私服,这里记录一下maven配置nexus私服地址的步骤 配置全局和本用户下两个setting.xml 镜像地址 一般maven本地用户的配置文件在我的文档目录下.m ...

  3. 使用Nexus私服代理其他maven仓库(jitpack、jcenter)

    Nexus下载及运行 Nexus3下载地址:https://support.sonatype.com/hc/en-us/articles/218637467-Download-Nexus-Reposi ...

  4. nexus 仓库类型_使用Nexus私服代理其他maven仓库(jitpack、jcenter)

    Nexus下载及运行 从Nexus Repository Manager 3.1.0-04开始,Nexus不再提供各平台的二进制安装文件. 下面以Windows平台为例: 下载Nexus压缩包解压之后 ...

  5. maven 学习笔记(一)eclipse+android+maven

    由于工作需要最近开始接触java,对于这类开源的东西发现居然是第一次接触,里面有太多的东西需要熟悉.其中最著名的就是maven,据说可以使得工程从编译至打包发布,效率提高很多倍.不过使用起来却比较麻烦 ...

  6. Maven学习(四)————Eclipse 中的 Maven 工程

    引言 创建一个 Maven 版 Hello World. 一.Eclipse 中 Maven 插件的准备工作 除了 JDK 和必须的 Eclipse 之外,还需要在 Eclipse 中设置Maven ...

  7. Maven学习总结(57)—— 如何提高 Maven 的构建速度?maven-mvnd 又是什么鬼?

    前言 Maven 经常被拿来和 Gradle 做对比,最大的劣势之一就是 Maven 构建慢,Gradle 比 Maven 构建速度快 2 到 10 倍,而如今 Maven 也可以更快了.Apache ...

  8. Maven整合Nexus私服

    nexus 上传jar包到私服 从私服下载jar包 方式1 :配置maven的setting.xml文件 方式2 :配置项目里的pom.xml文件 nexus nexus的下载与安装和启动 上传jar ...

  9. Maven之nexus(私服)

    1Nexus介绍 Nexus是一个强大的Maven仓库管理器, 它极大地简化了自己内部仓库的维护和外部仓库的访问. 利用Nexus你可以只在一个地方就能够完全控制访问和部署在你所维护仓库中的每个Art ...

最新文章

  1. 2018/12/05 PAT刷题 L1-018 大笨钟 Java
  2. [转载]在中文Windows环境下,控制台窗口中也可以用特殊符号拼出漂亮的表格来。...
  3. 页面金额显示两位小数点问题
  4. 串行通信的波特率高速和低速区别
  5. mfc 设置子窗口只打开一遍_MFC 判断子窗体是不是已经打开,避免重复创建
  6. Git教程~忽略特殊文件
  7. DDL——数据定义语言
  8. FFMPEG结构体分析:AVFrame
  9. 图像处理之局部二值特征
  10. java复习【笔试可能常见】
  11. Ural1297 最长回文子串(后缀数组+RMQ)
  12. 区块链如何解决电商供应的问题?
  13. Spark快速大数据分析——Spark的Hadoop配置(肆)
  14. 5G无线关键技术 — 高频段信号传输技术
  15. 全球计算机大学排名!软科世界一流学科排名
  16. 深入理解计算机系统 csapp 家庭作业(第三章完整版)
  17. Revo Uninstaller猎人模式操作说明
  18. Android 获取位置信息
  19. java argox_GitHub - margox/braft-extensions at dev_table
  20. 自定义EditText的无障碍描述(不读hint)

热门文章

  1. 为什么科技互联网公司越来越重视数学?贾扬清等大牛如是说
  2. AI 影像诊断平台的5大设计要点
  3. 「完结」12篇文章带你逛遍主流分割网络
  4. 深度丨Google告诉你为什么各大机构都在争相研究AI芯片
  5. 边缘AI是内存技术发展的催化剂
  6. 演讲实录丨CAAI名誉副理事长杨强教授:人工智能的金融实践
  7. Quanta杂志长文翻译:通过信息论判定个体的边界
  8. 报告解读 | 智能技术“核聚变”催生智能经济,将拉动十万亿市场
  9. 关于交通创新,这五大智慧城市做了啥?
  10. 自动驾驶真的会来得那么快吗:关于自动驾驶的7个疑问