Ich habe eine Artifactory (Version 4.15.0) Instanz, die ein Maven2-Repository mit mehreren Artefakten bedient. Gradle (Version 3.3) löst und lädt die meisten Abhängigkeiten gut. Einige Fehler können jedoch bei einem seltsamen Fehler behoben werden, bei dem der Gradel Artifactory-Plugin-Resolver nach der falschen URL sucht. Interessant ist, dass die richtige URL verwendet wird, um das POM zu finden, und wenn es versucht, das JAR herunterzuladen, wird die falsche URL verwendet.Artifactory Gradle Auflösung URL falsch und inkonsistent
POM URL
[DEBUG] [org.apache.http.impl.execchain.MainClientExec] Executing request HEAD http://artifactoryLocation:8081/artifactory/libs-release/org/swinglabs/swingx/swingx-all/1.6.5-1/swingx-all-1.6.5-1.pom HTTP/1.1
JAR URL
[DEBUG] [org.gradle.internal.resource.transport.http.HttpClientHelper] Performing HTTP HEAD: http://artifactoryLocation:8081/artifactory/libs-release/org.swinglabs.swingx/swingx-all/1.6.5-1/swingx-all-1.6.5-1.jar
Wie Sie aus irgendeinem Grund die JAR-URL verwendet .
und nicht /
enthält sehen kann. Ich bin mir nicht sicher, warum dies geschieht. Das POM wird ordnungsgemäß heruntergeladen, während die JAR-Abhängigkeiten nicht aufgelöst und heruntergeladen werden können. Irgendwelche Vorschläge von Korrekturen?
Ein weiterer interessanter Fund ist, dass die artifactory-ivy-resolver
anstelle der artifactory-maven-resolver
verwendet wird. Wie bereits erwähnt, ist das Repository ein Maven2-Repository in Artifactory und wird als solches in der Gradle build.gradle-Datei angegeben - nichts wird über Ivy erwähnt und dennoch wird der Ivy-Resolver verwendet. Ich bin mir nicht sicher, ob das ein Teil des Problems ist.
build.gradle
apply plugin: 'java'
apply plugin: 'com.jfrog.artifactory'
repositories {
}
buildscript {
repositories {
maven {
url 'http://artifactoryLocation:8081/artifactory/libs-release'
credentials {
username = "${artifactory_user}"
password = "${artifactory_password}"
}
}
jcenter()
}
dependencies {
//Check for the latest version here: http://plugins.gradle.org/plugin/com.jfrog.artifactory
classpath "org.jfrog.buildinfo:build-info-extractor-gradle:4+"
}
}
dependencies {
compile 'javax.media:jmf:2.1.1e'
compile 'com.bbn.openmap:openmap:5.0'
compile 'org.igniterealtime.smack:smack:3.2.2'
compile 'org.igniterealtime.smack:smackx:3.2.2'
compile 'org.swinglabs.swingx:swingx-all:1.6.5-1'
compile 'gov.nasa.worldwind:worldwind:2.1.0'
}
artifactory {
contextUrl = "${artifactory_contextUrl}" //The base Artifactory URL if not overridden by the publisher/resolver
publish {
repository {
repoKey = 'libs-release-local'
username = "${artifactory_user}"
password = "${artifactory_password}"
maven = true
}
}
resolve {
repository {
repoKey = 'libs-release'
username = "${artifactory_user}"
password = "${artifactory_password}"
maven = true
}
}
}
Könnten Sie Ihren build.gradle posten? –
Und bitte auch die Grapple-Version. – Henry
@MartinLinha Ich veröffentlichte die build.gradle – woody