gpt4 book ai didi

function - Jenkins Groovy 构建后脚本来评估具有函数的文件

转载 作者:行者123 更新时间:2023-12-04 22:31:24 28 4
gpt4 key购买 nike

我在 Jenkins 工作的 后期构建 步骤中使用以下代码:

evaluate(new File("Set-BuildBadge.groovy"));

因此,如果 而不是 包含函数,它就会成功运行脚本。

如果在脚本中我定义了一个 函数 例如:
def addSummaryWithText(Icon, Text) {
manager.createSummary(Icon).appendText(Text, false)
}
...
addSummaryWithText("installer.gif", "Project: " + ProjectName)

然后我收到以下错误:

FATAL: Illegal class name "Set-BuildBadge$addSummaryWithText" in class file Set-BuildBadge$addSummaryWithText java.lang.ClassFormatError: Illegal class name "Set-BuildBadge$addSummaryWithText" in class file Set-BuildBadge$addSummaryWithText at java.lang.ClassLoader.defineClass1(Native Method) ...



我不明白 GroovyShell.evaluate 是如何工作的。
谁能帮我?

最佳答案

看起来 JVM 不喜欢其中带有连字符的类名。

通过在内部调用您的脚本 Set-BuildBadge.groovy,它被编译成一个在您向脚本添加函数时不允许的类。

将脚本名称更改为 SetBuildBadge.groovy 将修复它:-)

关于function - Jenkins Groovy 构建后脚本来评估具有函数的文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22839352/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com