Maven仓库

一.Maven 仓库

Maven 包集中存放的地方,就是 Maven 仓库。这些仓库,可以是放在本地,也可以放在某个远程服务器上。 可以是私有仓库,也可以是公开的。例如下表:

mavenCentral() //最早的 maven 中央仓库,网址:http://repo1.maven.org
jcenter() // Android Studio 0.8 版本起的默认 maven 中央仓库。网址 :https://jcenter.bintray.com/

maven {
     url 'file:///Users/my-user-name/Documents/Android/repo/'     //笔者的本机的仓库
}
maven {
     url 'http://192.168.99.100:8081/content/repositories/releases/' //笔者部署在内网服务器的私有仓库
}

Android Studio Gradle 主要支持两个 Maven 中央库:mavenCentral 和 jcenter。

  • 为什么有了 mavenCentral,谷歌还切换到了 jcenter?
  1. mavenCentral(http://repo1.maven.org/maven2/)是由Sonatype公司提供的服务,它是Apache Maven、SBT和其他构建系统的默认仓库,并能很容易被Apache Ant/Ivy、Gradle和其他工具所使用。开源组织例如Apache软件基金会、Eclipse基金会、JBoss和很多个人开源项目都将构件发布到中央仓库。 mavenCentral已经将内容浏览功能禁掉了,可在http://search.maven.org/查询构件。

  2. jcenter(https://jcenter.bintray.com)是由JFrog公司提供的Bintray中的Java仓库。它是当前世界上最大的Java和Android开源软件构件仓库。 所有内容都通过内容分发网络(CDN)使用加密https连接获取。JCenter是Goovy Grape内的默认仓库,Gradle内建支持(jcenter()仓库),非常易于在(可能除了Maven之外的)其他构建工具内进行配置。

  3. JCenter相比mavenCenter构件更多,性能也更好。但还是有些构件仅存在mavenCenter中。

  • maven { url : xxx},这种格式可以配置任何一个存在的仓库?
    没错,你可以通过 maven { url : xxx }使用任何一个符合 maven 规范的仓库。
存在本地的
maven {
    url 'file:///Users/my-user-name/Documents/Android/repo/'
}
存在内网服务器的
maven {
    url 'http://192.168.99.100:8081/content/repositories/releases/'
}
存在某个远程服务器的
maven {
    url 'https://raw.githubusercontent.com/liaohuqiu/umeng-libs/master/repository'
}

二.常用的搜索网站

  • (http://search.maven.org/)
  • (http://mvnrepository.com/repos)

你可能感兴趣的:(Maven仓库)