在我的国家使用 Gradle 时,从 maven Central 下载 jars 是一项非常及时的工作。
我想将 mavenCentral 更改为 maven-nexus:
这意味着每当我使用 mavenCentral 它总是指向oschina
------edit------
我有很多使用 mavenCentral 的项目,所以我不想更改每个文件。
现在在新脚本中我使用 maven{ url ...} 有什么简单的方法吗?
任何人都可以帮助?
谢谢!
在我的国家使用 Gradle 时,从 maven Central 下载 jars 是一项非常及时的工作。
我想将 mavenCentral 更改为 maven-nexus:
这意味着每当我使用 mavenCentral 它总是指向oschina
------edit------
我有很多使用 mavenCentral 的项目,所以我不想更改每个文件。
现在在新脚本中我使用 maven{ url ...} 有什么简单的方法吗?
任何人都可以帮助?
谢谢!
将此更改应用于所有项目的最简单方法是使用 gradle init 脚本,该脚本强制使用 oschina 存储库而不是 mavenCentral。你可以这样说:
allprojects{
repositories {
all { ArtifactRepository repo ->
println repo.url.toString()
if ((repo instanceof MavenArtifactRepository) && repo.url.toString().startsWith("https://repo1.maven.org/maven2")) {
project.logger.warn "Repository ${repo.url} removed. Only $coporateRepoUrl is allowed"
remove repo
}
}
maven {
url "http://maven.oschina.net/content/groups/public"
}
}
}
进入一个 gradle 初始化文件。现在您可以通过调用“gradle build -I yourInitFile.gradle”来使用它,或者将此逻辑放入init.gradle
存储在目录中的 gradle 主目录中的文件中USER_HOME/.gradle/
。现在这将被每个 gradle 调用拾取而无需显式设置-I
另一种选择是创建一个自定义 gradle 发行版,该文件存储在发行版的 init.d 目录中。
这简单!而不是这个:
repositories {
mavenCentral()
}
用这个:
repositories {
maven {
url "https://..."
}
}
只需在模块目录中的 build.gradle 文件中设置存储库,如下所示:
repositories {
maven { url "http://maven.oschina.net/content/groups/public" }
}
如果您有很多依赖项(即在所有build.gradle
文件中)并且对于您正在使用的存储库 URL
repositories {
maven {
url "https://www.myrepourl.com"
}
}
但您只想在一个文件中更改该网址,然后执行以下操作:
gradle.properties
文件并添加以下行:REPO_URL=https://www.myrepourl.com
在所有其他build.gradle
文件中复制以下内容:
repositories {
maven {
url project.REPO_URL
}
}
您可以通过这种方式添加和使用更多属性。这对我来说就像魅力一样。干杯!