Jenkins 2.7.2 Pipeline作业在下载模式时不能为'Flat property'工作。
当从通用Artifactory存储库(rb-artifactory)下载工件时,Jenkins管道作业抛出此错误:
java.lang.NoClassDefFoundError: org/eclipse/jgit/util/StringUtils
请求你的支持来解决这个错误。
我们有以下下载模式:
def ar_download_logs = """{
"files": [
{
"pattern": "${ar_url}/out/*",
"flat": "1",
"target": "logs/"
}
]
}"""
def buildInfo1 = ar_server.download(ar_download_logs)
"flat": "1"
在从字符串转换为布尔值时导致问题,它使用StringUtil并导致exception java.lang.NoClassDefFoundError
。
如何建立一些StringUtils包Artifactory插件:2.5.1使用字符串布尔转换之间的依赖关系?
如果您看一下下面发生异常的源代码,那么它是 genericdownloadadeexecutor .java的第79行,由堆栈跟踪给出。
https://github.com/jenkinsci/artifactory-plugin/blob/master/src/main/java/org/jfrog/hudson/pipeline/executors/GenericDownloadExecutor.javaboolean isFlat = file.getFlat() != null && StringUtils.toBoolean(file.getFlat());
我也想分享一个插件,用于项目:
- Artifactory Plugin: 2.5.1 Groovy: 1.29
- Ivy Plugin: 1.26
- 管道:2.2 管道:Groovy: 2.7
- Pipeline: Job: 2.3
安装git插件可以解决这个问题。
为了使其生效,Jenkins必须在安装后重新启动。
Artifactory Plugin 2.8.0已经修复了这个问题:https://www.jfrog.com/jira/browse/hap - 829
根据其他回复,您有2个选择:
- 更新你的Artifactory插件到2.8.0版本或++,因为这个问题在2.8.0版本中解决了。
- 使用一个解决方案,为Jenkins安装Git插件。
在这两个选项中,你需要更新或安装插件,所以你需要重新启动你的Jenkins安装。重启Jenkins通常需要几分钟。
我建议你更新你的Artifactory插件来解决这个问题和未来可能出现的问题。