У меня есть экземпляр Artifactory (версия 4.15.0), обслуживающий репозиторий Maven2 с несколькими артефактами. Gradle (версия 3.3) разрешает и загружает большинство зависимостей просто отлично. Однако некоторые из них не могут решить проблему с нечетной ошибкой, когда искатель плагина Gradle Artifactory ищет неправильный URL-адрес. Что интересно, правильный URL-адрес используется для поиска POM, а затем, когда он пытается загрузить JAR, используется неправильный URL-адрес.Artifactory Разрешающая способность URL неверно и непоследовательно
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
Как вы можете видеть, по какой-то причине URL JAR используется содержит .
и не /
. Я не уверен, почему это происходит. POM загружен правильно, в то время как зависимости JAR не могут быть разрешены и загружены. Любые предложения исправлений?
Другая интересная находка заключается в том, что artifactory-ivy-resolver
используется вместо artifactory-maven-resolver
. Как указано, репозиторий является репозиторием Maven2 в Artifactory и указан как таковой в файле Gradle build.gradle. Ничего не упоминается о Ivy, но все же используется распознаватель Ivy. Я не уверен, что это часть проблемы.
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
}
}
}
Не могли бы вы разместить свой build.gradle? –
И, пожалуйста, также опубликуйте версию градиента. – Henry
@MartinLinha Я разместил build.gradle – woody