代码之家  ›  专栏  ›  技术社区  ›  user3847894

jenkinsfile java.lang.nullpointerException:无法对空对象调用方法<printpn()>

  •  0
  • user3847894  · 技术社区  · 6 年前

    我下面有一个詹金森的文件,我正试图运行,但不知何故它正在抛出 "java.lang.NullPointerException: Cannot invoke method printpn() on null object" 错误。有人能查查我遗漏了什么吗?

    [jimmy@localhost]$ cat Jenkinsfile
    #!groovy
    
    pipeline {
            agent any
    
            stages {
                    stage('Load Groovy') {
                            steps {
                                    script {
                                            def func1 = load('prop.groovy')
                                            func1.printpn()
                                    }
                            }
                    }
            }
    }
    [jimmy@localhost]$ cat prop.groovy
    def printpn() {
            sh """#!/usr/bin/env bash
    
                    echo "Coming from groovy function."
            """
    }
    
    1 回复  |  直到 6 年前
        1
  •  1
  •   Manish R    6 年前

    似乎你忘了在prop.groovy文件中写“返回这个”。只需添加“ return this “最后就像这样

    def printpn() {
            sh """#!/usr/bin/env bash
    
                    echo "Coming from groovy function."
            """
    }
    return this