您的位置:首页 > 本地本地

maven 国内镜像 哪个最快

admin2024-08-31人已围观

maven 国内镜像 哪个最快

换掉oschina的maven仓库,那个仓库慢的要死,甚至连官方仓库还不如。

我一般用的是ibiblio这个maven镜像库,在国内速度还行.

另外就是,repositories仓库是从上到下优先级匹配的,如果在上面仓库能找到依赖项就不会往下走。所以你应该把速度快的仓库提上面,mavenCentral这样的仓库做备份库放下面才对。

如果你本地有~/.m2这样的maven本地仓库,还可以加上mavenLocal()这个仓库放第一优先级。

最后要提的就是,gradle是一个现代化的构建工具,很有搞头,建议看官方文档以及官方推荐的教材系统学习一下,这玩意现在在老外的开源项目中非常火。

Gradle未能解决Android Studio的依赖问题,怎么解决

Gradle是可以用于Android开发的新一代的BuildSystem,也是AndroidStudio默认的build工具。Gradle脚本是基于一种JVM语言--Groovy,再加上DSL(领域特定语言)组成的。因为Groovy是JVM语言,所以可以使用大部分的Java语言库。所谓DSL就是专门针对Android开发的插件,比如标准Gradle之外的一些新的方法(Method)、闭包(Closure)等。由于Gradle的语法足够简洁,而且可以使用大部分的java包,当之无愧地成为新一代BuildSystem。使用AndroidStudio新建一个工程后,默认会生成两个build.gralde文件,一个位于工程根目录,一个位于app目录下。还有另外一个文件--settings.gradle。根目录下的脚本文件是针对module的全局配置,它的作用阈所包含的所有module是通过settings.gradle来配置。app文件夹就是一个module,如果在当前工程中添加了一个新的module--lib,就需要在settings.gralde文件中包含这个新的module。gradle脚本的基本结构用我现在的工程举例来说,根目录的build.gradle的内容如下所示://Top-levelbuildfilewhereyoucanaddconfigurationoptionscommontoallsub-projects/modules.buildscript{repositories{jcenter()}dependencies{classpath'com.android.tools.build:gradle:1.0.0-rc4'//NOTE:Donotplaceyourapplicationdependencieshere;theybelong//intheindividualmodulebuild.gradlefiles}}allprojects{repositories{jcenter()maven{url'pileSdkVersion21buildToolsVersion21.1.1compileOptions{sourceCompatibilityJavaVersion.VERSION_1_7targetCompatibilityJavaVersion.VERSION_1_7}defaultConfig{applicationIdyour.application.idminSdkVersion14targetSdkVersion21versionCode2versionName2.0.0}signingConfigs{release{storeFilefile('release.keystore')storePasswordyourstorepasswordkeyAliasyourkeyaliaskeyPasswordyourkeypassword}debug{storeFilefile('debug.keystore')}}buildTypes{release{minifyEnabledtrueproguardFilesgetDefaultProguardFile('proguard-android.txt'),'proguard-rules.pro'signingConfigsigningConfigs.release}debug{signingConfigsigningConfigs.debug}}productFlavors{inner{applicationIdyour.application.inner.idversionName2.0.0}market{}}}repositories{flatDir{dirs'libs'}}dependencies{//通用compilename:'volley',ext:'aar'compile'com.nostra13.universalimageloader:universal-image-loader:1.9.3'compile'com.alibaba:fastjson:latest.integration'//项目相关(已删除)}Groovy的基本语法方法调用applyplugin:'com.android.application'以上语句中的apply是一个方法,给它传递了一个参数plugin,plugin的值是'com.android.application'。如果有多个参数,则以逗号隔开,例如compilename:'volley',ext:'aar'闭包Groovy中花括号包含的部分成为一个闭包(Closure)。例如下面的代码compileOptions{sourceCompatibilityJavaVersion.VERSION_1_7targetCompatibilityJavaVersion.VERSION_1_7}compileOptions是一个Method,它的参数是一个闭包,这个闭包内依次执行了两个方法--sourceCompatibility和targetCompatibility,参数都是JavaVersion.VERSION17。闭包也可以嵌套包含repositories{flatDir{dirs'libs'}}常见使用方法包依赖(aar)使用aar时可以分为两种情况①aar位于本地目录首先在android的参数闭包中添加调用方法repositoriesrepositories{flatDir{dirs'libs'}}然后在dependencies的参数闭包中添加compilename:'volley',ext:'aar'②aar位于远程仓库这里以maven为例,当然也可以使用其他类型的仓库,例如Ivy。只需要在jar包引用方式后面添加一个@aar就可以了compile'com.alibaba:fastjson:latest.integration@aar'包依赖(jar)compilegroup:'com.alibaba',module:'fastjson',version:'latest.integration'可以简写成compile'com.alibaba:fastjson:latest.integration'latest.integration可以替换成具体的版本号,这里是获取服务器上的最新版本。去掉重复依赖compile'com.alibaba.fastjson.latest.integration'{excludemodule:'annotations',group:'com.google.android'}使用Java7compileOptions{sourceCompatibilityJavaVersion.VERSION_1_7targetCompatibilityJavaVersion.VERSION_1_7}productFlavors针对不同的APP分发渠道,我们可以定义不同的productflavor。也可以定义内部版本和外部版本,内部版本中包含了一些调试代码,这些代码在发布时并不会被编译进最后的APP中。而且可以分别为内部版本和外部版本指定不同的ApplicationId,这样在同一个设备上可以同时安装两个版本以方便调试。命令行执行Gradle脚本在Android工程根目录下会自动生成一个shell脚本-gradlew,执行之前记得加上x属性-chomod+xgradlewgradle脚本中包含了很多task,可以通过task名来指定需要执行的task。./gradlewbuild./gradlewassemble./gradlewassembleInnderDebug总结不得不说,Gradle实在太好用了!虽然Gradle可以与Ant或maven配合使用,但是其简洁和功能性远远超过其他两个。我现在开发的项目普遍使用的是maven,不知道什么原因,使用Gradle时经常会遇到一些无法获取远程依赖包的问题,最简单的解决法就是把依赖包下载的本地。

看看你的build.gradle怎么写的。

很赞哦! ()

上一篇:如何批量删除远程的tag'>谈谈自媒体、新媒体和融媒体

下一篇:返回列表'>返回列表

随机图文