我有一个 Jenkins 文件,我正在尝试从我的共享库实例化一个常规类。我得到“无法解决类测试”
我在共享库中有一个 src/com/org/foo.groovy 文件:
package com.org
class Test implements Serializable{
String val
Test(val) {
this.val = val
}
}
我正在尝试在我的 jenkinsfile 中实例化它
@Library('Shared-Library@master')
import com.org //also tried to use with .foo with no success
def t = new Test("a") //doesnt work
def t = new foo.Test("a")//doesnt work
def t = new com.org.foo.Test("a")//doesnt work
有效的是,如果我将该文件称为类(我无权访问其构造函数)。那是:
@Library('Shared-Library@master')
def t = new foo.com.org.foo()
这很好,让我可以使用 foo 函数。但是,我失去了提供类常量并使用参数构造它的能力。
知道如何定义和使用共享库中的类吗?
谢谢
- 您的类的范围是默认范围。您可以将范围更改为公共
- 它会抛出错误,因为您在脚本块之外创建了类的对象。尝试下面的代码,它应该可以工作。尝试下面的代码
@Library('Shared-Library@master')
import com.org.*;
stages{
stage('Demo') {
steps{
script{
def t = new Test("a") //this should work
}
}
}
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)