想在 vars 目录调用 src 目录下写的方法,本地 IDE 执行没问题,但是在 Jenkins 里执行却调用不了,google 了好久也没解决,请问有同学碰到过吗?
├── src
│ └── foo
│ └── DemoClass.groovy
└── vars
└── varDemo.groovy
#!groovy
package foo
class DemoClass {
def testDemoMethod() {
println("src目录 DemoClass类 testDemoMethod方法")
}
}
#!groovy
import foo.DemoClass
def testVarsDemo() {
println("vars目录 varDemo.groovy testVarsDemo方法")
}
def testVarsInvokeDemoMethod() {
println("vars目录 varDemo.groovy testVarsInvokeDemoMethod方法")
def demoClass = new DemoClass()
demoClass.testDemoMethod()
println("end vars目录 varDemo.groovy testVarsInvokeDemoMethod方法")
}
@Library('tools') _
varDemo.testVarsDemo()
varDemo.testVarsInvokeDemoMethod()
> git checkout -f b6176268be99abe300d514e1703ff8a08e3ef8da
Commit message: "test"
> git rev-list --no-walk c1a50961228ca071d43134854548841a056e16c9 # timeout=10
[Pipeline] echo
vars目录 varDemo.groovy testVarsDemo方法
[Pipeline] echo
vars目录 varDemo.groovy testVarsInvokeDemoMethod方法
[Pipeline] echo
end vars目录 varDemo.groovy testVarsInvokeDemoMethod方法
[Pipeline] End of Pipeline
Finished: SUCCESS
代码有执行到了 testVarsDemo() 的方法,也打印出来了。执行了 testVarsInvokeDemoMethod() 方法,有打印出来,但是demoClass.testDemoMethod()
里的方法却没有打印出来。
请问下这是因为什么?怎么解决?