Gradle Maven Repo

本文介绍如何通过Gradle脚本配置项目依赖仓库,包括修改远程仓库URL以使用阿里云镜像,并介绍了一个用于自定义本地仓库位置的插件ivypot-gradle-plugin。此外还探讨了该插件的一些局限性及其对文件夹格式的影响。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

.gradle启动顺序

  1. 在命令行指定文件: gradle –init-script
  2. USER_HOME/.gradle/init.d/*.gradle
  3. GRADLE_HOME/init.d/*.gradle

修改远程仓库URL

allprojects{
    repositories {
        def REPOSITORY_URL = 'http://maven.aliyun.com/nexus/content/groups/public/'
        all { ArtifactRepository repo ->
            if(repo instanceof MavenArtifactRepository){
                def url = repo.url.toString()
                if (url.startsWith('https://repo1.maven.org/maven2') || url.startsWith('https://jcenter.bintray.com/')) {
                    project.logger.lifecycle "Repository ${repo.url} replaced by $REPOSITORY_URL."
                    remove repo
                }
            }
        }
        maven {
            url REPOSITORY_URL
        }
    }
}

另类修改gradle读取的仓库

GitHub:https://github.com/ysb33r/ivypot-gradle-plugin

大致功能:用ivy下载,支持从指定远程仓库(如阿里)下载到指定的本地目录(如.m2)

不足:maven的文件夹格式是:/org/apache/abc/,而ivy的格式是:/org.apache.abc/,但可以自定义格式(没试过)。所以用这个插件下载的包,不能用maven去引用,因为文件夹格式不一样。

相关问题:
1. https://stackoverflow.com/questions/41804511/make-gradle-use-maven-local-repository-for-downloading-artifacts
2. https://stackoverflow.com/questions/52147538/how-to-make-gradle-downloads-artifacts-into-m2-repository

参考代码


plugins {
    id 'java'
    id 'org.ysb33r.ivypot' version '0.8'
}

group 'g'
version '1.0-SNAPSHOT'

sourceCompatibility = 1.8

// 下载源
syncRemoteRepositories {
    repoRoot 'C:\\Users\\Alex\\.m2\\repository'

    repositories {
        mavenLocal()
        mavenCentral()
    }

    configurations 'compile', 'testCompile'

    includeBuildScriptDependencies = false
}

// 下载的目的文件夹
repositories {
    ivy {
        url 'C:\\Users\\Alex\\.m2\\repository'
        layout 'gradle' // 自定义格式,可以参考github,没试过
    }
}

dependencies {
    testCompile group: 'junit', name: 'junit', version: '4.12'
    compile 'com.facebook.presto:presto-jdbc:0.209'
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值