【发布时间】:2020-04-08 16:17:48
【问题描述】:
我正在使用Jenkins shared library 插件并具有以下结构
src/com/domain/service/baseClass.groovy
" /subClass.groovy
我有这个在baseClass.groovy
class BaseClass {
Integer port = 5000
String name = null
}
我希望能够在subClass.groovy 中做到这一点
import com.domain.service.baseClass
class SubClass extends BaseClass {
String name = 'myName'
}
def printValues()
SubClass sc = new SubClass()
println "Name: $sc.name, Port: $sc.port"
}
我的想法是我想在我的 BaseClass 中定义公共属性并在我的 SubClass 中重用(例如port)或覆盖(例如name)它们。你知道-OOD。我可以有几个子类都继承自 BaseClass。
然后在我的 Jenkins 管道作业配置页面中,我这样做(我在我的系统配置中将“my-repo”设置为共享库)
node('linux-node') {
@library('my-repo')
def sb = new com.domain.service.subClass()
sb.printValues()
}
当我运行这个管道时,我得到以下信息。共享库是否支持这种层次结构?
subClass.groovy: 3: unable to resolve class BaseClass
【问题讨论】:
标签: jenkins groovy jenkins-pipeline jenkins-shared-libraries