ฉันกำลังพยายามดึงข้อมูลเวอร์ชันของการขึ้นต่อกันเดียวทั้งหมดจากอาร์ติแฟคทอรีผ่านสคริปต์ gradle ของฉัน ปัญหาคือการไล่ระดับดึงข้อมูลการขึ้นต่อกันเวอร์ชันล่าสุดเท่านั้นและนั่นทำให้เกิดปัญหากับ applcation ของฉัน ในขณะที่ฉันสามารถทำได้เหมือนกันใน maven เหตุใด gradle จึงไม่ดึงข้อมูลเวอร์ชันทั้งหมดของการพึ่งพานั้น ด้านล่างนี้คือตัวอย่าง
dependencies {
runtime "carediscovery.services:GenericServices:1.0@jar"
runtime "carediscovery.services:GenericServices:1.1@jar"
runtime "carediscovery.services:GenericServices:1.2@jar"
runtime "carediscovery.services:GenericServices:1.3@jar"
runtime "carediscovery.services:GenericServices:1.5@jar"
runtime "carediscovery.services:GenericServices:1.6@jar"
runtime "carediscovery.services:LoadPathways:1.0@jar"
runtime "carediscovery.services:LoadPathways:1.1@jar"
}
สคริปต์ Gradle กำลังดึงข้อมูลเวอร์ชัน 1.6 เท่านั้นสำหรับ GenericServices
มีใครบอกฉันได้ไหมว่าสามารถดึงข้อมูลการอ้างอิงทั้งหมดจาก 1.0...1.6 ในระดับ gradle ได้หรือไม่
ฉันลองใช้โค้ดด้านล่างแล้ว แต่นี่ทำให้ฉันมีข้อผิดพลาด ใครสามารถบอกได้ว่าทำไมมันถึงให้สิ่งนี้กับฉัน
apply plugin: 'java'
repositories {
maven {
url "http://cm.t.thn.com:8/artifactory/services-release-local"
}
}
def deps = [GenericServices: (0..6), LoadPathways: (0..1)]
deps.each { dep, version ->
configurations.create("$dep$version")
dependencies.add("$dep$version", "carediscovery.services:$dep:1.$version@jar")
}
task copy(type: Copy) {
from(deps.collect { dep -> dep.value.collect { configurations."$dep.key$it" } }.flatten())
into 'services/carediscovery/services'
}
ด้านล่างนี้คือผลลัพธ์ข้อผิดพลาด
**C:\NEW_HG_WORKSPACE\APPLICATION-DATA>gradle clean build
FAILURE: Build failed with an exception.
* Where:
Build file 'C:\NEW_HG_WORKSPACE\APPLICATION-DATA\build.gradle' line: 20
* What went wrong:
A problem occurred evaluating root project 'application-data'.
> Could not find property 'GenericServices0' on configuration container.
* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug
option to get more log output.
BUILD FAILED**
ฉันแก้ไขปัญหาข้างต้นแล้ว และตอนนี้ก็ทำงานได้ดีแล้ว
apply plugin: 'java'
repositories {
maven {
url "http://c.t.t.com:8/artifactory/services-release-local"
}
}
def deps = [GenericServices: (0..6), LoadPathways: (0..1)]
deps.each { dep, versions ->
versions.each { version ->
configurations.create("$dep$version")
dependencies.add("$dep$version", "carediscovery.services:$dep:1.$version@jar")
}
}
task copy(type: Copy) {
from(deps.collect { dep -> dep.value.collect { configurations."$dep.key$it" } }.flatten())
into 'services/carediscovery/services'
}