Class 如何在Jenkins管道中导入类文件?

Class 如何在Jenkins管道中导入类文件?,class,jenkins,jenkins-pipeline,Class,Jenkins,Jenkins Pipeline,我有一个包含类的文件。例如: 我想在Jenkins管道脚本中导入该文件,这样我就可以创建一个类的对象。例如: 如何在Jenkins管道中导入文件?Thx. 您可以这样做: 类。groovy A类{ def greet(name){return“greet from A:$name!”} } B类{ def greet(name){return“greet from B:$name!”} } //这个方法只是为了有很好的访问权来按名称创建类 对象getProperty(字符串名称){ 返回此

我有一个包含类的文件。例如:


我想在Jenkins管道脚本中导入该文件,这样我就可以创建一个类的对象。例如:



如何在Jenkins管道中导入文件?Thx.

您可以这样做:

类。groovy

A类{
def greet(name){return“greet from A:$name!”}
}
B类{
def greet(name){return“greet from B:$name!”}
}
//这个方法只是为了有很好的访问权来按名称创建类
对象getProperty(字符串名称){
返回此.getClass().getClassLoader().loadClass(名称).newInstance();
} 
还这个
管道:

节点{
def cl=加载“Classes.groovy”
定义a=类别a
回声a.问候(“世界a”)
定义b=类别b
回声b.问候(“世界b”)
}

由于使用了
echo
命令,我假设您在jenkins管道中,而不仅仅是groovy。如果是的话,请更新你的问题和标签。我更新了!Thx:)相关它给了我一个错误:groovy.lang.MissingPropertyException:没有这样的属性:一个for类…尝试
def A=cl.getProperty('A')
而不是
def A=cl.A
,这是jenkins管理员的问题。脚本不允许使用方法java.lang.class getClassLoader。管理员可以决定是否批准或拒绝此签名。-如何解决这个问题?
abstract class TestBase
{
    String name
    abstract def fTest()

    def bobby(){
        return "bobby"
    }
}
class Test extends TestBase
{
    def fTest(){
        return "hello"
    }
}
class Test2 extends TestBase
{
    def fTest(){
        return "allo"
    }
    def func(){
        return "test :)"
    }
}
def vTest = new Test()
echo vTest.fTest()
def vTest2 = new Test2()
echo vTest2.func()