cau*_*chy 7 jenkins-groovy jenkins-pipeline
我在共享库的/ var目录中使用了一些全局方法,并且一切正常。现在我需要保持过程的状态,所以我要编写一个普通的类。基本上,我在'/ src'中有一个叫做'ClassTest.groovy'的类,就像这样;
class ClassTest {
String testString
def method1() { ... }
def method2() { ... }
}
Run Code Online (Sandbox Code Playgroud)
并在管道开始时
library 'testlibrary@'
import ClassTest
Run Code Online (Sandbox Code Playgroud)
结果:
WorkflowScript:2:无法解析类ClassTest @第2行,第1列。import
ClassTest
以前,我只是傻瓜
library 'testlibrary@' _
Run Code Online (Sandbox Code Playgroud)
并使用以下方法
script {
libraryTest.method1()
...
libraryTest.method2()
}
Run Code Online (Sandbox Code Playgroud)
方法在文件“ /var/libraryTest.groovy”中,并且一切正常。所以我知道共享库在那里,但是我对groovy / Jenkins处理类/共享库的方式感到困惑。
导入类的正确方法是什么?我在文档中找不到一个简单的示例(带有Groovy文件,文件结构和管道)。
编辑:我将文件移到src / com / company / ClassTest.groovy并修改为
@Library('testlibrary@') import com.company.ClassTest
def notification = new ClassTest()
Run Code Online (Sandbox Code Playgroud)
但是现在的错误是
意外令牌:程序包@第2行
groovy文件的前两行是:
// src/com/company/ClassTest.groovy
package com.company;
Run Code Online (Sandbox Code Playgroud)
到目前为止,这是我发现的。
要在我使用的管道中加载库:
@Library('testlibrary@') import com.company.ClassTest
def notification = new ClassTest()
Run Code Online (Sandbox Code Playgroud)
在类文件中,没有 打包说明。我想我不需要一个,因为我没有任何其他文件或类,所以我真的不需要包。此外,当对类和类所在的文件使用相同的名称时,我遇到了错误。该错误特别抱怨并要求更改其中之一。我想这两件事与詹金斯有关。
那行得通,并且库已加载。
| 归档时间: |
|
| 查看次数: |
4356 次 |
| 最近记录: |