一.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?
-
mavenCentral(http://repo1.maven.org/maven2/)是由Sonatype公司提供的服务,它是Apache Maven、SBT和其他构建系统的默认仓库,并能很容易被Apache Ant/Ivy、Gradle和其他工具所使用。开源组织例如Apache软件基金会、Eclipse基金会、JBoss和很多个人开源项目都将构件发布到中央仓库。 mavenCentral已经将内容浏览功能禁掉了,可在http://search.maven.org/查询构件。
-
jcenter(https://jcenter.bintray.com)是由JFrog公司提供的Bintray中的Java仓库。它是当前世界上最大的Java和Android开源软件构件仓库。 所有内容都通过内容分发网络(CDN)使用加密https连接获取。JCenter是Goovy Grape内的默认仓库,Gradle内建支持(jcenter()仓库),非常易于在(可能除了Maven之外的)其他构建工具内进行配置。
-
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'
}
网友评论