gpt4 book ai didi

Jenkins 共享库 src 类 - 无法解析类

转载 作者:行者123 更新时间:2023-12-04 16:04:03 25 4
gpt4 key购买 nike

我正在寻找有关 Jenkins 共享库类设计的一些指导。使用全局变量作为共享库工作正常,但每次我在 src/中定义一个类并且我想导入它时,我都会收到无法解析类的错误。

这是我的共享库结构:

src
- de
- schlumpf
- Tester.groovy
vars
- sayHello.groovy

类 Tester.groovy

这是我想在管道作业中初始化的类的代码。
package de.schlumpf

public class Tester implements Serializable {
public String name = "test"

Tester(String pName) {
this.name = pName
}

def sayHi() {
echo "Hello, ${this.name}."
}

def sayHi(String name) {
echo "Hello, ${name}."
}
}

var sayHello.groovy
#!/usr/bin/env groovy

def call(String name = 'human') {
echo "Hello, ${name}."
}

流水线作业
@Library('pipeline-library-demo')
import de.schlumpf.Tester //de.schlumpf doesn't work as well

stage('Demo') {
echo 'Hello world'
sayHello 'test'

def t = new Tester('Alice')
t.sayHi()
}

在第 2 行中,我收到错误消息:无法解析类 de.schlumpf.Tester。全局变量 sayHello 就像一个魅力......有谁知道我在这里做错了什么?

共享库在系统设置中导入:
enter image description here

我知道这看起来与这个相似,但我在我的路径中找不到拼写错误或其他东西......
Using Jenkins Shared Libraries as classes

官方文档在这里: https://jenkins.io/doc/book/pipeline/shared-libraries/

版本
  • Jenkins :ver。 2.150.1
  • 管道 2.6
  • 管道:Groovy 2.61.1
  • 管道:共享 Groovy 库 2.12
  • 最佳答案

    它抛出一个错误,因为您在脚本块之外创建了一个类的对象。
    尝试下面的代码,它应该可以工作。

    @Library('pipeline-library-demo')
    import de.schlumpf.*;

    stages{
    stage('Demo') {
    steps{
    echo 'Hello world'
    sayHello 'test'
    script{
    def t = new Tester('Alice')
    t.sayHi()
    }
    }
    }
    }

    关于Jenkins 共享库 src 类 - 无法解析类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54125894/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com