库Jenkins步骤无法动态加载方法

库Jenkins步骤无法动态加载方法,jenkins,shared-libraries,jenkins-pipeline,Jenkins,Shared Libraries,Jenkins Pipeline,我想在共享库的src文件夹中创建一个类的新实例。当然,我可以做一个简单的def object=new myClass(),上面有一个import,但我想动态地初始化类(尝试使用Class.forName对我来说失败了,我不打算使用该解决方案) 我试图从vars文件夹下的groovy文件而不是src中执行此操作。 所以我要做的是:def customized=library(“mySharedLib”).com.x.x.MyClass.new(this) 如共享库文档中所述: 但我得到了一个错误:

我想在共享库的src文件夹中创建一个类的新实例。当然,我可以做一个简单的
def object=new myClass()
,上面有一个
import
,但我想动态地初始化类(尝试使用
Class.forName
对我来说失败了,我不打算使用该解决方案)

我试图从
vars
文件夹下的groovy文件而不是
src
中执行此操作。 所以我要做的是:
def customized=library(“mySharedLib”).com.x.x.MyClass.new(this)

如共享库文档中所述:

但我得到了一个错误:

java.lang.IllegalAccessException:com.x.x.MyClass是在中定义的file:///Path/to/master/workspace/jobs/project/builds/297/libs/mySharedLib/vars/generic.groovy 不在里面file:///Path/to/master/workspace/jobs/project/branches/PR-50/builds/297/libs/mySharedLib/src/


在Jenkins Jira中,也有同样的问题。。。有什么想法吗??我不明白发生了什么事!我尝试在
src
文件夹下的类中创建一个方法,该方法执行步骤库调用,但返回相同的错误。

无需从vars文件夹中加载库(我假设它与src文件夹位于同一存储库中)。只需使用普通导入导入类,并像在普通groovy中一样使用它,例如

import org.pack.Myclass
def call() {
    def myClass = new MyClass()
}

你真的读了所有的问题吗?我已经说过:当然,我可以做一个简单的def object=new myClass(),上面有一个导入,但我想动态地!我的意思是我不知道班名。那样的话,我误解了你的意图。看来我们还需要一个解决方案:(希望这个答案对其他人仍然有帮助:)我假设在整个库加载完成之前,您不能使用库加载程序。你已经试过使用两个独立的库了吗?这是否有效将是一件稀奇的事。