Gradle Maven Repo
程序员文章站
2022-05-22 21:13:58
...
.gradle启动顺序
- 在命令行指定文件: gradle –init-script
- USER_HOME/.gradle/init.d/*.gradle
- 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'
}
上一篇: 深入理解location匹配规则
下一篇: 图的深度优先搜索和广度优先搜索