jcenter maven 库

先了解compile ‘com.squareup.okhttp:okhttp:2.4.0’的意义

首先我们要了解compile ‘com.squareup.okhttp:okhttp:2.4.0’这一行gradle代码的意义。

compile ‘com.squareup.okhttp:okhttp:2.4.0
  • 1

基本上我们可以从这一行代码可以了解到,引用一个library的代码需要3个部分,即:

GROUP_ID:ARTIFACT_ID:VERSION

在这句代码里面的 
GROUP_ID 是com.squareup.okhttp, 
ARTIFACT_ID 是okhttp, 
VERSION 是2.4.0 
按照我的理解, 
GROUP_ID就像是我们写一个项目使用的公司包名一样,表示自己所在的团队或个人, 
ARTIFACT_ID我认为就是这个类库的名称,用于区分同一个GROUP下不同的类库, 
最后的VERSION顾名思义就是版本号。

了解Jcenter和Maven

Android Studio是从build.gradle里面定义的Maven 仓库服务器上下载library的。Apache Maven是Apache开发的一个工具,提供了用于贡献library的文件服务器。总的来说,只有两个标准的Android library文件服务器:jcenter 和 Maven Central。

jcenter

jcenter是一个由 bintray.com维护的Maven仓库 。你可以在这里看到整个仓库的内容。 
我们在项目的build.gradle 文件中如下定义仓库,就能使用jcenter了:

allprojects {
    repositories {
        jcenter()
    }
}
  • 1
  • 2
  • 3
  • 4
  • 5

Maven Central

Maven Central 则是由sonatype.org维护的Maven仓库。你可以在这里看到整个仓库。 
注:不管是jcenter还是Maven Central ,两者都是Maven仓库 
我们在项目的build.gradle 文件中如下定义仓库,就能使用Maven Central了:

allprojects {
    repositories {
        mavenCentral()
    }
}
  • 1
  • 2
  • 3
  • 4
  • 5

注意,虽然jcenter和Maven Central 都是标准的 android library仓库,但是它们维护在完全不同的服务器上,由不同的人提供内容,两者之间毫无关系。在jcenter上有的可能 Maven Central 上没有,反之亦然。

理解jcenter和Maven Central

为何有两个标准的仓库?

事实上两个仓库都具有相同的使命:提供Java或者Android library服务。上传到哪个(或者都上传)取决于开发者。

起初,Android Studio 选择Maven Central作为默认仓库。如果你使用老版本的Android Studio创建一个新项目,mavenCentral()会自动的定义在build.gradle中。

但是Maven Central的最大问题是对开发者不够友好。上传library异常困难。上传上去的开发者都是某种程度的极客。同时还因为诸如安全方面的其他原因,Android Studio团队决定把默认的仓库替换成jcenter。正如你看到的,一旦使用最新版本的Android Studio创建一个项目,jcenter()自动被定义,而不是mavenCentral()。

有许多将Maven Central替换成jcenter的理由,下面是几个主要的原因。 
1. jcenter通过CDN发送library,开发者可以享受到更快的下载体验。 
2. jcenter是全世界最大的Java仓库,因此在Maven Central 上有的,在jcenter上也极有可能有。换句话说jcenter是Maven Central的超集。 
3. 上传library到仓库很简单,不需要像在 Maven Central上做很多复杂的事情 
4. 友好的用户界面

基于上面的原因以及我自己的经验,可以说替换到jcenter是明智之举。

快速搜索方法1:

 
如刚才那位开发者的提问一样,既然他是想要com.squareup.okhttp:okhttp的最新版本,那么我就去搜索com.squareup.okhttp:okhttp。如下图所示: 

可以看到搜索第一个排名就是com.squareup.okhttp:okhttp的maven的相关信息,点击进入: 

可以看到com.squareup.okhttp:okhttp的最新版本为2.7.5 
点击 2.7.5 的链接,进入如下如所示的界面: 

上面写了com.squareup.okhttp:okhttp的gradle的相关配置信息为:

// https://mvnrepository.com/artifact/com.squareup.okhttp/okhttp
compile group: ‘com.squareup.okhttp‘, name: ‘okhttp‘, version: ‘2.7.5‘
  • 1
  • 2
  • 3

maven的相关信息为: 

<!-- https://mvnrepository.com/artifact/com.squareup.okhttp/okhttp -->
<dependency>
    <groupId>com.squareup.okhttp</groupId>
    <artifactId>okhttp</artifactId>
    <version>2.7.5</version>
</dependency>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

因此可以知道com.squareup.okhttp:okhttp的最新版本为2.7.5,如果我们要在项目中使用com.squareup.okhttp:okhttp的话,只要在gradle文件中配置如下的命令即可。

compile ‘com.squareup.okhttp:okhttp:2.7.5‘
  • 1

快速搜索方法2:

当然我们也可以直接进入 https://bintray.com/ 网站搜索com.squareup.okhttp:okhttp,如下图所示 

然后搜索com.squareup.okhttp:okhttp,如下图所示: 

搜索结果如下所示: 

如图所示,我们可以知道com.squareup.okhttp:okhttp的最新版本为2.7.5,点击链接com.squareup.okhttp进入如下界面: 

如上图所示,如果我们要在项目中使用com.squareup.okhttp:okhttp的话,只要在gradle文件中配置如下的命令即可。

compile ‘com.squareup.okhttp:okhttp:2.7.5‘
  • 1

快速搜索方法3:

直接去github上搜索 okhttp 

点击连接 square/okhttp 进入:https://github.com/square/okhttp 

下面就有如何引入okhttp的方式,如下图所示: 

如上图所示,表面okhttp最新版本是3.4.1,不过这是okhttp3.x版本的,之前那哥们要的是2.x版本

我们又进入maven网站去搜索 com.squareup.okhttp3 

搜 com.squareup.okhttp 

因此要注意看你是想要那个版本的。

原文地址:https://www.cnblogs.com/ouyangping/p/8157565.html

时间: 2024-08-12 07:39:13

jcenter maven 库的相关文章

jcenter,maven和grandle

1.jcenter用来作什么? JCenter is the place to find and share popular Apache Maven packages for use by Maven, Gradle, Ivy, SBT, etc. jcenter仓库网页地址:https://bintray.com/bintray/jcenter jcenter仓库源码地址:http://jcenter.bintray.com 可以在"网页地址"中查找到某个库需要的maven/Ivy

开源中国Maven库笔记

maven中央库在天朝环境下使用起来还是很蛋疼的啊,我还是找了开源中国国内的maven库来代替.最简单的方式: 替换settings文件 settings文件:http://maven.oschina.net/static/xml/settings.xml 内容如下:  记得修改 <localRepository>F:/Maven/repo/m2/</localRepository> 为你的路径 <?xml version="1.0" encoding=&

向maven库中加需要的jar包

项目里用到sqlserver 的驱动,使用maven依赖下载不成功,看网上说明可以手工下载加入到maven库中,直接拷贝到.m2中,结果各种报错.后来才知道正确用法: mvn install:install-file -Dfile={Path/to/your/ojdbc.jar} -DgroupId=com.oracle -DartifactId=ojdbc6 -Dversion=11.2.0 -Dpackaging=jar

阿里云maven 库

阿里云maven 库 , 好用,速度快 maven setting.xml https://github.com/ae6623/Zebra/blob/master/maven-repo-settings-ali.xml <?xml version="1.0" encoding="UTF-8"?> <!-- Licensed to the Apache Software Foundation (ASF) under one or more contr

国内maven库镜像(阿里云)

我觉得fuck GFW(Great FireWall) 真是阻碍国内技术发展罪大恶极的东西.各种不方便,各种落后,各种闭塞. anyway,maven中央仓库,本来有oschina的可以用,现在关了.最近找到阿里云的好像可以.配置如下: <mirrors> <mirror> <id>alimaven</id> <name>aliyun maven</name> <url>http://maven.aliyun.com/ne

使用Gradle将Maven库打包成Jar

项目需要将Dropwizard(Java RESTful服务)与Derby(轻量数据库)打包成Jar然后提供给其他工程使用,由于Dropwizard并未提供jar-release版本,所以写了个gradle构建脚本用于将maven库中的Dropwizard与Derby整合打包成一个jar包,然后再添加到目标项目中使用. 脚本代码: apply plugin: 'java' project.ext { // 项目标题名称 title = 'DropwizardDerby' // 项目名称前缀 ba

更新maven库

删除所在本地仓库的文件夹,例如: 然后,重新下载一个jar包,放到工程的文件夹,注意名字要不同,否则maven库不予更新,替换完成后,点击工程,maven,update project即可,再次查看M2本地maven库已有删除掉的文件夹,则更新完成

Eclipse添加maven依赖找不到maven库中的jar

开发中,经常需要添加第三方jar到maven库,添加jar的方法,这里不多介绍,网上很多,下面就以添加dana 的memcached客户端jar的例子来说明这次遇到的问题与解决的方法. 1. 安装第三方jar 进入cmd, F:\java_memcached-release_2.6.6>mvn install:install-file -Dfile=java_memcached-r elease_2.6.6.jar -DgroupId=com.dana -DartifactId=memcache

maven打包jar到本地maven库中

关于这个问题,百度一下,会有很多回答. 比如:http://hooray520.iteye.com/blog/1327658 但是我在用的时候,写法一样,可是就是不通过,报错为: [ERROR] No plugin found for prefix 'install' in the current project and in the p lugin groups [org.apache.maven.plugins, org.codehaus.mojo] available from the r