欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Gradle Maven Repo

程序员文章站 2022-05-22 21:13:58
...

.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://*.com/questions/41804511/make-gradle-use-maven-local-repository-for-downloading-artifacts
2. https://*.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'
}
相关标签: maven gradle