web-dev-qa-db-ja.com

Jenkinsfileエラー-Java.lang.NoSuchMethodError:ステップ間にそのようなDSLメソッド「withMaven」が見つかりません

私は現在、jenkinsfileを使用してjenkinsにパイプラインを実装しようとしていますが、WindowsマシンでMavenプロジェクトを実行しています。私はjenkinsでパイプラインジョブを作成していますが、githubリポジトリでこのファイルをチェックインしました。jenkinsでジョブを実行しているときに、次のエラーが発生しています。

私のジェンキンスファイル:

    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"
                }
            }
        }

      }

    }

私はジェンキンスジョブを介してそれを実行しているときにエラーが発生しています-ジェンキンスエラー:

Java.lang.NoSuchMethodError:ステップ[アーカイブ、バット、ビルド、catchError、チェックアウト、deleteDir、dir、dockerFingerprintFrom、dockerFingerprintRun、echo、emailext、emailextrecipients、envVarsForTool、エラー、fileExists、getContext、gitにDSLメソッド「withMaven」が見つかりません、入力、isUnix、ライブラリ、libraryResource、ロード、メール、マイルストーン、ノード、パラレル、パワーシェル、プロパティ、pwd、readFile、readTrusted、resolveScm、再試行、スクリプト、sh、スリープ、ステージ、スタッシュ、ステップ、svn、タイムアウト、タイムスタンプ、tm、tool、unarchive、unstash、validateDeclarativePipeline、waitUntil、withContext、withCredentials、withDockerContainer、withDockerRegistry、withDockerServer、withEnv、wrap、writeFile、ws]または記号[all、allOf、always、ant、antFromApache、antOutcome、antTarget、any、 anyOf、apiToken、architecture、archiveArtifacts、artifactManager、authorizationMatrix、batchFile、booleanParam、branch、

何か助け?

8
Abhishek Somani

これは、使用可能なDSLメソッドとしてwithMavenがないことを意味します。ほとんどの場合、これはプラグインがインストールされていないことを意味します。この場合、Pipeline Mavenプラグインが必要です。 https://wiki.jenkins.io/display/JENKINS/Pipeline+Maven+Plugin

14
Rob Hales

Rob Halesの答えに加えて、Jenkins ver。では「Pipeline Maven Integration Plugin」と呼ばれています。 2.73.3以降

3
Jonathan L

これを試して:

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"
        }
    }

  }

}

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

2
Litty Philip