Iva*_*van 4 groovy function jenkins
我在Jenkins作业的后期构建步骤中使用以下代码:
evaluate(new File("Set-BuildBadge.groovy"));
所以它成功运行一个脚本,如果它不包含的功能.
如果在脚本中我定义了一个函数,例如:
def addSummaryWithText(Icon, Text) {
    manager.createSummary(Icon).appendText(Text, false)
}
...
addSummaryWithText("installer.gif", "Project: " + ProjectName)
然后我收到以下错误:
致命错误:类文件中的非法类名"Set-BuildBadge $ addSummaryWithText"Set-BuildBadge $ addSummaryWithText java.lang.ClassFormatError:类文件中的非法类名"Set-BuildBadge $ addSummaryWithText"在java.lang.ClassLoader中的Set-BuildBadge $ addSummaryWithText .defineClass1(原生方法)......
我没有得到GroovyShell.evaluate如何工作.谁能帮我?
tim*_*tes 11
看起来JVM不喜欢带有连字符的类名.
通过在Set-BuildBadge.groovy内部调用脚本,它将编译为一个在向脚本添加函数时不允许的类.
更改脚本的名称SetBuildBadge.groovy将修复它:-)