一个gradle文件中有多个Maven存储库


296

所以我的问题是如何将多个Maven存储库添加到一个gradle文件中。

这不起作用:

repositories {
    mavenCentral()
    maven {
        url "http://maven.springframework.org/release"
        url "http://maven.restlet.org"
    }
}

Answers:


594

简而言之,你必须这样做

repositories {
  maven { url "http://maven.springframework.org/release" }
  maven { url "https://maven.fabric.io/public" }
}

详情:

您需要在其各自的花括号中指定每个Maven URL。这是我将要构建的Web服务项目的框架依赖项的工作:

apply plugin: 'java'

sourceCompatibility = 1.7
version = '1.0'

repositories {
  maven { url "http://maven.springframework.org/release" }
  maven { url "http://maven.restlet.org" }
  mavenCentral()
}

dependencies {
  compile group:'org.restlet.jee', name:'org.restlet', version:'2.1.1'
  compile group:'org.restlet.jee', name:'org.restlet.ext.servlet',version.1.1'
  compile group:'org.springframework', name:'spring-web', version:'3.2.1.RELEASE'
  compile group:'org.slf4j', name:'slf4j-api', version:'1.7.2'
  compile group:'ch.qos.logback', name:'logback-core', version:'1.0.9'
  testCompile group:'junit', name:'junit', version:'4.11'
}

博客


URL是否紧密相关,是这种情况吗?
Lealo

1
太棒了!在我迷迷糊糊地浪费了一个小时之前!
杰克·埃文斯

我们不应该期望artifactUrls工作吗?docs.gradle.org/current/dsl/…–
Reinderien

我可以在init.gradle中使用它吗?
wawa '18

如果我也有子项目,在这种情况下,我是否还需要在configure(subprojects.findAll()){**}部分中使用多个URL的存储库?
KCS

64

您必须在项目级别的gradle文件中这样做

allprojects {
    repositories {
        jcenter()
        maven { url "http://dl.appnext.com/" }
        maven { url "https://maven.google.com" }
    }
}

我可以在init.gradle中使用它吗?
wawa '18
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.