ที่เก็บ maven จำนวนมากในหนึ่งไฟล์ gradle


296

ดังนั้นปัญหาของฉันคือวิธีเพิ่มที่เก็บ maven หลายไฟล์ลงในไฟล์ gradle ไฟล์เดียว

สิ่งนี้ใช้ไม่ได้:

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

คำตอบ:


595

ในระยะสั้นคุณต้องทำเช่นนี้

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

รายละเอียด:

คุณต้องระบุ URL maven แต่ละรายการในเครื่องหมายปีกกาของมันเอง นี่คือสิ่งที่ฉันได้ทำงานกับการพึ่งพาโครงกระดูกสำหรับโครงการบริการเว็บที่ฉันจะสร้างขึ้น:

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
Fantastic! เสียเวลาหนึ่งชั่วโมงก่อนที่ฉันจะพบสิ่งนี้!
Jake Evans

เราไม่ควรคาดหวังที่artifactUrlsจะทำงาน docs.gradle.org/current/dsl/…
Reinderien

ฉันสามารถใช้มันใน init.gradle ได้หรือไม่?
wawa

หากฉันมีโปรเจ็กต์ย่อยด้วยในกรณีนั้นฉันจำเป็นต้องใช้ที่เก็บหลาย URL ในการกำหนดค่า (subprojects.findAll ()) {**} ส่วนด้วยหรือไม่
KCS

64

คุณต้องทำเช่นนี้ในโครงการระดับของgradleไฟล์

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

ฉันสามารถใช้มันใน init.gradle ได้หรือไม่?
wawa
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.