首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >通过Jenkins作业从脚本调用类的方法时无法解析类

通过Jenkins作业从脚本调用类的方法时无法解析类
EN

Stack Overflow用户
提问于 2019-06-18 13:16:11
回答 1查看 1.2K关注 0票数 0

我有一个Jenkins作业,作为构建操作的一部分,我正在执行一个groovy脚本,比如脚本A。在脚本A中,我试图执行Test1的方法。A.groovyTest1.groovy都位于同一个目录中。每当我运行作业时,我都会得到"unable to resolve class"错误。

A.groovy

代码语言:javascript
运行
复制
println "****************** TEST : START  *******************************"

println " Environment Variable value is : "
new Test1().printEnv()

println "****************** TEST : END  *******************************"

我正在使用Groovy 2.3.6。

Test1.groovy

代码语言:javascript
运行
复制
class Test1{

def printEnv(){

println "****************** TEST inside Test1.groovy : START  *******************************"

println "****************** TEST inside Test1.groovy : END  *******************************"
} 

}

错误:

代码语言:javascript
运行
复制
unable to resolve class Test1 

注意:当我从jenkins外部执行我的脚本时,会起作用。只有当我试图通过Jenkins执行它时,它才无法找到类Test1。

我对这种行为非常困惑。有许多文章讨论如何解决"unable to resolve class Test1"错误。但似乎没有一个适用于我的情况,因为电话是好的,当它是从詹金斯以外。

我相信我已经提供了所有我能提供的信息。尽管如此,如果需要的话,请随时索取更多的信息。

EN

回答 1

Stack Overflow用户

发布于 2019-06-18 15:40:23

如果使用Jenkins管道,则需要加载辅助groovy文件。您可以找到关于如何在管道这里中使用groovy源文件的文档。

在你的例子中,你可以这样做:

A.groovy

代码语言:javascript
运行
复制
def test1 = load 'Test1.groovy'
test1.printEnv()

Test1.groovy

代码语言:javascript
运行
复制
class Test1 {
  def printEnv() {
    // TODO
  }
}
return new Test1()

注意在文档中解释的Test1.groovy中的return

希望这有帮助

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56650075

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档