2016-08-05 114 views
1

我在IntelliJ IDE中开发了groovy类,我想在Jenkins的Pipeline插件的'Pipeline script'中实例化这些类中的一个。我试图按照试过下面还有“Eval.me”和的Class.forName动态加载一个groovy类并调用流水线脚本中的方法

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() 
+0

管道插件groovy沙盒根本无法识别类。 –

回答

0

我想,我问了两个星期前,后能够回答你的问题。 Create resusable jenkins pipeline script

+0

嗨蒂姆,我的存储库是SVN,将与SVN一样的工作? –

+0

千万别尝试,但我猜如果你把你的groovy代码放在那个工作流文件夹里,它应该是一样的。 – Tim

+0

您好,您分享的帖子是这样做的一种方式,但从git访问库并不总是可行的,因为我说我的回购是SVN。在我的团队内部进行讨论后,我们明白这种方式对我们来说不是可行的。有没有其他方法可以加载文件并调用方法? –