Gradle Maven Repo

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/c13232906050/article/details/82379614

.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'
}

猜你喜欢

转载自blog.csdn.net/c13232906050/article/details/82379614
今日推荐