Java 动态加载groovy类并在管道脚本中调用方法

Java 动态加载groovy类并在管道脚本中调用方法,java,intellij-idea,jenkins,groovy,build-pipeline-plugin,Java,Intellij Idea,Jenkins,Groovy,Build Pipeline Plugin,我已经在IntelliJ IDE中开发了groovy类,我想在Jenkins的管道插件的“管道脚本”中实例化其中一个类。我试着学习'Eval.me'和class.forName的例子 Sample package com.mycomp.tmo /** * Created by */ public void callMe(){ println("Hello World !") } def e = "callMe" def cl = Class.forName("com.myco

我已经在IntelliJ IDE中开发了groovy类,我想在Jenkins的管道插件的“管道脚本”中实例化其中一个类。我试着学习'Eval.me'和class.forName的例子

Sample

package com.mycomp.tmo

/**
 * Created by
 */
public void callMe(){
    println("Hello World !")
}


def e = "callMe"
def cl = Class.forName("com.mycomp.tmo.Sample")
println(Eval.me("${c1} (${e})"))
在以下方面也进行了尝试:

String cls = 'D:\\Users\\b\\IdeaProjects\\Automation\\src\\com\\mycomp\\tmo\\DBConnectionManager'

def map = ['person': ${cls}]
map['person'].newInstance()

我想我两周前问的帖子可以回答你的问题。
我想我两周前问的帖子可以回答你的问题。

管道插件groovy sand box根本无法识别类。管道插件groovy sand box根本无法识别类。嗨,Tim,我的存储库是SVN,SVN也能用吗?千万不要尝试,但我想如果你把groovy代码放在工作流文件夹中,它应该是一样的。嗨,Tim,您共享的帖子是实现这一点的一种方法,但从git访问库并不总是可行的,正如我所说,我的repo是SVN。在我的团队内部讨论后,我们明白这种方式对我们来说是不可行的。还有其他方法可以加载文件并调用方法吗?在那篇文章中有另一个答案看起来像这样{//…您的管道代码…git''//将其更改为svn clone pipeline=load'global functions.groovy'pipeline.helloworld()//调用您定义的函数之一//…其他管道代码…}嗨,Tim,我的存储库是SVN,SVN也一样吗?千万不要尝试,但我想如果你把groovy代码放在工作流文件夹中,它应该是一样的。嗨,Tim,你分享的帖子是这样做的一种方式,但从git访问库并不总是可行的,正如我说的,我的repo是SVN。在我的团队内部讨论后,我们明白这种方式对我们来说是不可行的。还有其他方法可以加载文件并调用方法吗?在那篇文章中有另一个答案看起来是这样的{//…您的管道代码…git''//将其更改为svn clone pipeline=load'global functions.groovy'pipeline.helloworld()//调用您定义的函数之一//…其他管道代码…}