我们正在使用 Jenkins 共享库来集中我们所有(脚本化的)管道的一些代码。现在我们将一些 Groovy 代码分解到一个.jar
库中(用 Kotlin 编写,编译为与 Java 8 兼容)。我们将此库发布到我们的内部 maven 存储库,现在想在我们的共享库中使用它。
我们正在使用@Grab
加载我们的库,直到那时它就像一个魅力。然而,我们得到了NoSuchMethodError
。我们确定了一点,我们在 Kotlin 库中使用了 OkHttp。OkHttp 内部使用 Okio。当我们从管道调用内部调用 OkHttp-Code 的方法时,一切都很好。然而,当 OkHttp-Code 在内部调用 Okio 时,我们得到一个NoSuchMethodError
.
我们已经检查了发布的.jar
文件,它包含带有似乎缺少方法的类。有人知道问题可能是什么吗?
当我们这样做时,我们无法访问在 Kotlin 库中设置在 Jenkins 上的环境变量,有没有办法解决这个问题?