Jenkinsfile error- java.lang.NoSuchMethodError:在步骤中找不到这样的DSL方法'withMaven'

Abh*_*ani 8 maven jenkins jenkins-pipeline

我目前正在尝试使用jenkinsfile在jenkins中实现管道,我正在Windows机器上执行maven项目.我正在jenkins创建一个管道工作,我已经在我的github存储库中检查了这个文件,当我在jenkins中运行这个工作时,我收到了以下错误.

我的jenkinsfile:

    pipeline {
        agent any
        stages {
            stage('Compile stage') {
                steps {
                    maven(maven : 'Maven_3.5.2'){
                        bat "mvn clean compile"
                }
            }
        }

             stage('testing stage') {
                 steps {
                    maven(maven : 'Maven_3.5.2'){
                        bat "mvn test"
                }
            }
        }

              stage('deployment stage') {
                  steps {
                    maven(maven : 'Maven_3.5.2'){
                        bat "mvn deploy"
                }
            }
        }

      }

    }
Run Code Online (Sandbox Code Playgroud)

当我通过jenkins job-Jenkins错误运行它时,我得到以下错误:

java.lang.NoSuchMethodError:在步骤[archive,bat,build,catchError,checkout,deleteDir,dir,dockerFingerprintFrom,dockerFingerprintRun,echo,emailext,emailextrecipients,envVarsForTool,error,fileExists,getContext,git)中找不到这样的DSL方法'withMaven' ,input,isUnix,library,libraryResource,load,mail,milestone,node,parallel,powershell,properties,pwd,readFile,readTrusted,resolveScm,retry,script,sh,sleep,stage,stash,step,svn,timeout,timestamps ,tm,tool,unarchive,unstash,validateDeclarativePipeline,waitUntil,withContext,withCredentials,withDockerContainer,withDockerRegistry,withDockerServer,withEnv,wrap,writeFile,ws]或symbols [all,allOf,always,ant,antFromApache,antOutcome,antTarget,any, anyOf,apiToken,architecture,archiveArtifacts,artifactManager,authorizationMatrix,batchFile,booleanParam,branch,

有帮助吗?

Rob*_*les 14

这意味着您没有withMaven可用的DSL方法.大多数情况下,这意味着您没有安装插件.在这种情况下,需要Pipeline Maven插件.https://wiki.jenkins.io/display/JENKINS/Pipeline+Maven+Plugin


Lit*_*lip 6

尝试这个:

pipeline {

    agent any
    tools {
        maven 'Maven_3.5.2' 
    }
    stages {
        stage('Compile stage') {
            steps {
                bat "mvn clean compile" 
        }
    }

         stage('testing stage') {
             steps {
                bat "mvn test"
        }
    }

          stage('deployment stage') {
              steps {
                bat "mvn deploy"
        }
    }

  }

}
Run Code Online (Sandbox Code Playgroud)

参考:https : //jenkins.io/doc/book/pipeline/syntax/