У меня есть фрагмент кода, который использует класс groovyx.net.http.HTTPBuilder
, этот фрагмент кода находится в папке src репозитория, которая явно загружена как общая библиотека Jenkins.
Мой build.gradle уже содержит зависимость для HTTPBuilder.
При запуске задание конвейера просто не выполнялось за считанные секунды при загрузке библиотеки за исключением
file:callService.groovy: 3: unable to resolve class groovyx.net.http.HTTPBuilder
@ line 3, column 1.
import groovyx.net.http.HTTPBuilder
build.grale содержимое
dependencies {
compile(
'org.codehaus.groovy:groovy-all:2.4.14',
'org.codehaus.groovy.modules.http-builder:http-builder:0.7',
'org.apache.httpcomponents:httpclient:4.5.2',
'org.apache.httpcomponents:httpmime:4.5.2',
)
}
Я пытался использовать захват для разрешения зависимости, как предлагалось в некоторых сообщениях, это не сработало.
@Grab(group='org.codehaus.groovy.modules.http-builder', module='http-builder', version='0.7' )
import groovyx.net.http.HTTPBuilder
и выброшено ниже исключения
hudson.remoting.ProxyException: org.codehaus.groovy.control.MultipleCompilationErrorsException: startup failed:
General error during conversion: Error grabbing Grapes -- [unresolved dependency: org.codehaus.groovy.modules.http-builder#http-builder;0.7: not found]
Обновление: после исправления оператора @Grab (путем замены имени на модуль) и добавления зависимости плюща (org.apache.ivy:ivy:2.4.0
) compileGroovy gradle завершается ошибкой с Caused by: java.lang.NoClassDefFoundError: org/apache/ivy/core/report/ResolveReport
Существует ли простой способ использования HttpBuilder и связанных классов в общих библиотеках?