【build.gradle】 buildScript块、allprojects块、根级别三种所属的repositories区别

之前以为buildscript配置了仓库地址,根项目配置依赖就能够从仓库导包,实际操作过程却遇到根项目无法获取依赖包的现象,也是偶然查询buildscript的配置解释才发现这篇博客的介绍,看完顿时茅塞顿开,感谢!

以下是转载的内容:(https://blog.csdn.net/hd243608836/article/details/80696406

一直对为什么buildScript块里定义了repositories而allprojects段或根还定义repositories没有思考过,偶然有了念头想要探究一下。

build.gradle
  1. buildscript {

  2. repositories {

  3. ...

  4. }

  5. dependencies {

  6. ...

  7. }

  8. }

build.gradle
  1. allprojects {

  2. repositories {

  3. ...

  4. }

  5. dependencies {

  6. ...

  7. }

  8. }

build.gradle
  1. repositories {

  2. ...

  3. }

  4. dependencies {

  5. ...

  6. }

  7.  
  8.  

buildScript块的repositories主要是为了Gradle脚本自身的执行,获取脚本依赖插件。我在写的一篇博客《尝试Artifactory》中Gradle脚本需要com.jfrog.artifactory插件才能执行成功,而这个插件是从URL为https://plugins.gradle.org/m2/的Maven仓库获得。

根级别的repositories主要是为了当前项目提供所需依赖包,比如log4j、spring-core等依赖包可从mavenCentral仓库获得。

allprojects块的repositories用于多项目构建,为所有项目提供共同所需依赖包。而子项目可以配置自己的repositories以获取自己独需的依赖包。

 

参考


What's the difference between buildscript and allprojects in build.gradle?

Gradle buildscript dependencies

Gradle: Project

 

转载自:http://blog.sina.com.cn/s/blog_72ef7bea0102vvg3.html

上一篇:Android Studio3.5在编译项目出现连接不上gradle该怎么办?


下一篇:rabbitmq 出现 com.rabbitmq.client.ShutdownSignalException: , ..................