• gradle学习之旅(十一) 使用和配置仓库


    仓库

    gradle对现有仓库支持如下

    • Maven 仓库
      本地文件系统或远程服务器中的Maven仓库,或者预配置的Maven Central
    • Ivy 仓库
      本地文件系统或远程服务器中的Ivy仓库,具有特定的结构模式
    • 扁平的目录仓库
      本地文件系统的仓库或者远程目录仓库,没有元数据支持

    仓库API

    • 项目中定义仓库的关键是Repositoryhandler接口,它提供了添加各种类型仓库的方法。
    • 这些方法将会在repositories配置块中被调用,当声明多个仓库时,依赖管理器在下载依赖及其元数据时会按照声明的顺序来检查仓库

    Maven仓库

    Maven仓库的类库以jar文件形式表现。元数据用xml表示,并使用POM文件描述了类库相关信息及其传递性依赖。
    RepositoryHandler接口提供了两个方法来定义Maven仓库。mavenCentral()方法用来将Maven Central添加到repositories中,mavenLocal()方法用来在文件系统中关联一个本地的Maven仓库。

    添加预配置的Maven Central 仓库

    Maven Central的URL是 http://repo1.maven.org/maven2,gradle提供了一种快捷的方法来声明之,而不必每次写URL。

    repositories {
        mavenCentral()
    }
    

    添加预配置的Maven Local仓库

    repositories {
        mavenLocal()
    }
    
    • 默认在<USER_HOME>/.m2/repository目录下是可用的

    添加一个自定义的Maven仓库

    首先被添加的仓库要遵循标准的工件存储模式,其次仓库可以被正常访问。Gradle API支持两种方式来配置一个自定义仓库:maven() 和 mavenRepo()。

    repositories{
        maven {
            name 'Company Maven Repository'
            url 'http://XXXXXXXXX'
        }
    }
    

    其余的可用的配置选择可以查看文档

    Ivy仓库

    Maven仓库中的工件必须以一种标准的布局存储,任何结构偏差都可能导致依赖关系发生错误。Ivy仓库可自定义布局,在Ivy仓库中,依赖元数据被储存在ivy.xml文件中。声明一个Ivy仓库需要除了需要定义URL外,还需要声明工件和元数据的布局模式

    repositories{
        ivy{
            url 'http://XXXXXX'
            layout 'pattern', {
                artifact '[organisation]/[module]/[revision]/[artifact]-[revision].[ext]'
                ivy '[organisation]/[module]/[revision]/ivy-[revision].xml'
            }
        }
    }
    

    flat目录仓库

    最基本的仓库形式,只包含JAR文件没有元数据。
    语法如下:

    repositories {
        flatDir(dir: "$dirString" , name: "$nameString")
    }
    

    声明依赖时不可以声明group属性

    dependencies{
        compile name: "$nameString" , version: "$versionString"
        compile ":$nameString:$versionString"
    }
    
  • 相关阅读:
    安利一个_Java学习笔记总结
    九涯的第一次
    attrs 资源文件 自定义属性
    EditText
    ArrayList 数组 初始化方法
    HTTP Retrofit 网络传输
    画布Canvas 画笔Paint
    View控件跟随鼠标移动
    ViewPager和Fragment中的View的点击事件冲突
    圆形图片 ImageView
  • 原文地址:https://www.cnblogs.com/Theshy/p/8043166.html
Copyright © 2020-2023  润新知