jenkins - 在 Jenkins 共享库基础架构中,如何在另一个文件中导入类?
问题描述
我正在使用Jenkins 共享库插件并具有以下结构
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
解决方案
使用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'
}
推荐阅读
- html - When using custom scrollbar style on Chrome, a white square appears on lower corner. How to eliminate this?
- nearprotocol - Near Protocol: Error during Context.predecessor in view
- postgresql - Return rows which have the same values in two columns, but different values in another
- mysql - AWS RDS MySQL FullText Index with 2 Character Words
- python - numpy ndarray上的Python元素条件
- c++ - 在 opencv dnn 中加载 onnx 模型
- wget - 检索通过 wget 下载的文件路径
- reactjs - React 正确接收道具但变得未定义
- kubernetes - Digitalocean 上任何节点的初始角色主机如何
- oracle - Oracle 全文搜索。在 CATSEARCH 中使用参数