#maven #jenkins #gradle #jenkins-job-dsl #jbcrypt
Вопрос:
Я использую Gradle 6.9, и вот мой файл build.gradle:
plugins {
id "groovy"
id "java"
}
group "com.matthiasdenu"
version "1.0-SNAPSHOT"
repositories {
mavenCentral()
maven {
url 'https://repo.jenkins-ci.org/releases/'
}
}
ext {
jobDslVersion = "1.77"
jenkinsVersion = "2.252"
}
sourceSets {
jobs {
groovy {
srcDirs "jobs"
compileClasspath = main.compileClasspath
}
compileClasspath = sourceSets.main.output
runtimeClasspath = sourceSets.main.output
}
}
dependencies {
compile("org.jenkins-ci.main:jenkins-war:${jenkinsVersion}"){
// https://github.com/sheehan/job-dsl-gradle-example/issues/87
exclude group: "org.jenkins-ci.ui", module: "bootstrap"
}
}
test {
useJUnitPlatform()
}
Это сообщение об ошибке, которое я получаю:
Execution failed for task ':compileTestGroovy'.
> Could not resolve all files for configuration ':testCompileClasspath'.
> Could not find org.connectbot.jbcrypt:jbcrypt:1.0.0.
Searched in the following locations:
- https://repo.maven.apache.org/maven2/org/connectbot/jbcrypt/jbcrypt/1.0.0/jbcrypt-1.0.0.pom
- https://repo.jenkins-ci.org/releases/org/connectbot/jbcrypt/jbcrypt/1.0.0/jbcrypt-1.0.0.pom
Required by:
project : > org.jenkins-ci.main:jenkins-war:2.252 > org.jenkins-ci.main:jenkins-core:2.252
Possible solution:
- Declare repository providing the artifact, see the documentation at https://docs.gradle.org/current/userguide/declaring_repositories.html
Что странно, так это то, что артефакт 1.0.0 не отображается на https://repo.maven.apache.org/maven2/org/connectbot/jbcrypt/. Я также заметил, что URL-адреса тоже не совсем совпадают. Например, если я попытаюсь получить v1.0.1, это тоже не разрешится, потому что он ожидает дополнительного «jbcrypt» для имени группы.
У меня есть эта проблема даже при использовании последней версии jenkins-war (2.304).
Что происходит?
Комментарии:
1. Версия 1.0.0 не может быть доступна, потому что существует только 1.0.1 и т.д… В этом-то и проблема. Вы должны использовать другую версию.
Ответ №1:
Вы должны добавить репозиторий Дженкинса public
в свою конфигурацию. Он содержит все библиотеки, доступные в releases
репозитории, и все необходимые зависимости.
Файл существует: https://repo.jenkins-ci.org/public/org/connectbot/jbcrypt/jbcrypt/1.0.0/jbcrypt-1.0.0.jar
repositories {
mavenCentral()
maven {
url 'https://repo.jenkins-ci.org/public/'
}
}