【问题标题】:groovy issue with groovy.lang.MissingMethodException: No signature of methodgroovy.lang.MissingMethodException 的常规问题:没有方法签名
【发布时间】:2022-11-11 02:49:46
【问题描述】:

 folder('AAAA'){
        description "BBB"
    }

pipelineJob("$CCCC"){
   parameters{
                stringParam('branch','master')

            }

}

我是 groovy 的新手并试图处理遗留代码,我遇到了一些这样的代码

实际上我不知道它代表什么,这是否意味着一个函数,文件夹和 pipelineJob 是默认方法吗?或者只是一个函数名。

我收到了这些错误消息,但不知道在哪里可以修复它

Caught: groovy.lang.MissingMethodException: No signature of method: seed.folder() is applicable for argument types: (String, seed$_run_closure1$_closure3) values: [AAA, seed$_run_closure1$_closure3@3f93e4a8]
Possible solutions: collect(), find()
groovy.lang.MissingMethodException: No signature of method: seed.folder() is applicable for argument types: (String, seed$_run_closure1$_closure3) values: [AAA, seed$_run_closure1$_closure3@3f93e4a8]
Possible solutions: collect(), find()
        at seed$_run_closure1.doCall(seed.groovy:35)
        at seed.run(seed.groovy:31)


【问题讨论】:

  • 在你问“我是新人”问题之前开始阅读书籍怎么样?

标签: java groovy jenkins-pipeline


【解决方案1】:

我想你想从这里开始:

https://github.com/jenkinsci/job-dsl-plugin/blob/master/docs/Job-DSL-Commands.md#folder

Folder 是 Pipeline DSL 上的一种方法,但它需要您正确安装 Cloudbees 插件才能使用(您可能没有正确设置环境)。

是的,这是一个函数调用,后面的大括号是一个闭包(即认为像 javascript () => println('yeah!') 中的胖箭头函数)。 Groovy 具有强大的闭包功能,但它非常动态,因此很难在 IDE 中通过代码辅助来解决问题。您必须阅读文档才能弄清楚大多数事情。

例如描述也将成为函数(没有括号),下一个文字是它的参数。但是,它调用该函数的对象是什么?嗯,这就是事情变得棘手的地方。它可能是 Folder 对象,但它要么是闭包 this 指向的任何东西,要么是委托。 Groovy 开发人员可以对闭包等进行注释,因此 IDE 可以提供帮助,但并非每个开发人员都谨慎地正确注释事物。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-04-08
    • 1970-01-01
    • 2017-06-19
    • 1970-01-01
    相关资源
    最近更新 更多