一般情況下服務器編寫好服務程序 會用Maven打成JAR包,放在Maven倉庫里管理,我們在用的時候直接引用就可以,
那么如何在Gradle項目中使用本地的 或者遠程的Maven倉庫呢 當Maven倉庫里的JAR包有更新時 我們可以用Gradle編譯時直接從Maven倉庫里下載(針對公司本地的服務器Jar包更新,每次服務器更新Jar包不用手動更新直接連接Maven倉庫加載對應的類庫)
1、在我們的工程的目錄下的gradle文件配置
// Top-level build file where you can add configuration options common to all sub-projects/modules. buildscript { repositories { jcenter() } dependencies { classpath 'com.android.tools.build:gradle:2.3.0' // NOTE: Do not place your application dependencies here; they belong // in the individual module build.gradle files } } allprojects { repositories {//默認加載所需類庫都會去jcenter中加載 如果沒有找對對應的類庫則會去我們配置的Maven倉庫中查找 jcenter() maven{//配置Maven倉庫的地址 url "http://repo.springsource.org/libs-milestone-local" } } } task clean(type: Delete) { delete rootProject.buildDir }
我們可以看見 紅色的jcenter() 在我們app的目錄下的build.gradle文件里 我們經常會看到 compile 'com.google.gson:gson:2.2.4'之類的寫法
com.google.gson:gson:2.2.4這個庫其實在jcenter里邊有 如果加載一個類庫jcenter中沒有 那么就會去我們配置的Maven倉庫中查找
配置好上面的文件后 我們需要在 app目錄下的build.gradle中去引用所需要的類庫
dependencies { compile fileTree(include: ['*.jar'], dir: 'libs') androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', { exclude group: 'com.android.support', module: 'support-annotations' }) compile 'com.android.support:appcompat-v7:23.4.0' compile 'com.android.support:support-v4:25.1.1' testCompile 'junit:junit:4.12' compile 'com.gopivotal.manager:common:1.2.1.RELEASE' }
紅色部分就是 我們引用的操作 你會發現我們引用的庫 有三部分 分別用:隔開
GroupId: com.gopivotal.manager
ArtifactId: common
version:1.2.1.RELEASE
這三個其實就組成了Maven倉庫里對應庫的路徑
執行一次build之后就可以使用對應的類了
給大家幾個常用的Maven地址 可以嘗試一下
https://repo1.maven.org/maven2/
https://repository.jboss.org/maven2/
https://repository.sonatype.org/content/groups/public/
http://maven.aliyun.com/nexus/content/groups/public
http://repo.springsource.org/libs-milestone-local