【发布时间】:2016-07-04 12:21:59
【问题描述】:
我正在编写一个 Jenkins Groovy 脚本文件来获取给定目录(包括子目录)中的所有 .NET 项目解决方案文件 (*.sln)。
首先,我尝试获取给定路径中的目录列表。我使用了下面的代码,它工作正常:
File folder = new File("D:\\Data");
File[] listOfFiles = folder.listFiles();
for (int i = 0; i < listOfFiles.length; i++) {
if (listOfFiles[i].isFile()) {
println("File " + listOfFiles[i].getName());
}
else if (listOfFiles[i].isDirectory()) {
println("Directory " + listOfFiles[i].getName());
}
}
2) 当修改如下代码以列出给定路径中的所有解决方案文件时,出现错误:
File folder = new File("D:\\Data");
File[] listOfFiles = folder.listFiles();
Collection files = FileUtils.listFiles(
folder,
new RegexFileFilter("^(*.sln)"),
DirectoryFileFilter.DIRECTORY
);
for (int i = 0; i < files.length; i++) {
if (files[i].isFile()) {
println("File " + files[i].getName());
}
else if (files[i].isDirectory()) {
println("Directory " + files[i].getName());
}
}
错误详情:
org.codehaus.groovy.control.MultipleCompilationErrorsException: startup failed:
WorkflowScript: 5: unable to resolve class RegexFileFilter
@ line 5, column 3.
new RegexFileFilter("^(*.sln)"),
^
任何人都可以帮助我获取给定路径(包括子目录)中的所有解决方案文件
提前致谢!!
【问题讨论】:
-
“我遇到错误” - 哪个错误,什么消息?
-
请用您收到的错误 StackTrace 更新您的问题。
-
我猜是
org.apache.commons.io.FileUtils,是吗?如果是,如果有SuffixFileFilter甚至listFiles(File directory, String[] extensions, boolean recursive),为什么还要使用RegexFileFilter? -
@Vikrant Kashyap,@Thomas,错误详情已更新
标签: java jenkins groovy groovyshell jenkins-groovy