使用另一个groovy文件中的类作为Jenkins管道脚本中的类型

使用另一个groovy文件中的类作为Jenkins管道脚本中的类型,jenkins,groovy,Jenkins,Groovy,我是一个非常棒的新手,所以不确定这是否可行。我需要进口货,但不完全需要。下面是我尝试做的简化代码示例: 在FileToProcess.groovy文件中 class FileToProcess implements Serializable { String FileName FileToProcess(fileName) { this.FileName = fileName; } } 然后在Jenkins文件中,我想做一些类似的事情 F1 = new FileToProc

我是一个非常棒的新手,所以不确定这是否可行。我需要进口货,但不完全需要。下面是我尝试做的简化代码示例:

在FileToProcess.groovy文件中

class FileToProcess implements Serializable {
  String FileName

  FileToProcess(fileName) {
   this.FileName = fileName;
  }
}
然后在Jenkins文件中,我想做一些类似的事情

F1 = new FileToProcess('A');
List<FileToProcess> allFiles = new ArrayList<FileToProcess>();
allFiles.add(F1);
​for (FileToProcess file : allFiles) {
    System.out.println(file.FileName);
}
但它没有显示如何在声明中使用该类作为类型,例如

List<FileToProcess> allFiles = new ArrayList<FileToProcess>();
List allFiles=new ArrayList();
给我“无法解析类FileToProcess”。我还知道,像这样使用一个类作为类型应该是可行的,因为当我将该类放在同一个Jenkins文件中时,它会这样做,所以问题似乎只是该类在Jenkins文件中不可见


有什么方法可以做到这一点吗?

我不确定您是如何设置类库的,但我在使用管道共享库中的类时也尝试了同样的方法,并且效果良好

我做的有点不同: 假设您将文件放在
src/org/Foo.groovy

import org.Foo

def list = new ArrayList<Foo>
list.add(new Foo('str1'))
list.add(new Foo('str2'))
import org.Foo
def list=新阵列列表
添加(新的Foo('str1'))
添加(新的Foo('str2'))

好吧,我只是把groovy文件放在Jenkins文件的旁边,在同一个文件夹中,Jenkins从git中提取它们。我没有使用共享库。这是唯一的办法吗?我不能直接从文件中加载或导入它?到目前为止,我个人只使用了管道库选项。不管怎样,我也认为这样管理代码更好一些
import org.Foo

def list = new ArrayList<Foo>
list.add(new Foo('str1'))
list.add(new Foo('str2'))