我正在使用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中定义通用属性,并在子类中重用(例如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
答案 0 :(得分:0)
在类文件中使用package
定义
package com.domain.service
class BaseClass {
Integer port = 5000
String name = null
}
和
package com.domain.service
import com.domain.service.baseClass
class SubClass extends BaseClass {
String name = 'myName'
}