Jenkins问题:如何使用Java从共享位置获取文件列表

Jenkins问题:如何使用Java从共享位置获取文件列表,java,jenkins,Java,Jenkins,来自Jekins的Runnig---我在使用以下命令时遇到了一个问题,表明“参数'directory'不是目录”。请建议从共享文件夹获取文件列表的选项 public List<File> clickDownloadExcel() { File dir = new File("//CHOFILE/Public/QETeam/AutomationDownloads"); log.info("**********************************

来自Jekins的Runnig---我在使用以下命令时遇到了一个问题,表明“参数'directory'不是目录”。请建议从共享文件夹获取文件列表的选项

public List<File> clickDownloadExcel() {
            File dir = new File("//CHOFILE/Public/QETeam/AutomationDownloads");
   log.info("**************************************************"+dir.getPath());

                String[] extensions = new String[] { "csv", "xls", "xml" };
                List<File> files = (List<File>) FileUtils.listFiles(dir, extensions, true);
                return files;
            }
        }
公共列表单击下载Excel(){
File dir=new File(“//CHOFILE/Public/QETeam/AutomationDownloads”);
log.info(“*************************************************************”+dir.getPath());
字符串[]扩展=新字符串[]{“csv”、“xls”、“xml”};
List files=(List)FileUtils.listFiles(dir,extensions,true);
归还文件;
}
}

类似的内容可以为您提供工作目录。然后根据需要更改相对路径

private String getWorkingChar(){
    String workingDir = System.getProperty("user.dir");
    String workingChar = "/";

    if (workingDir.indexOf("\\") != -1) {
        workingChar = "\\";
    }

    return workingChar;
}
这是我获取webapps目录的方式:

public String getWebappsDirectory(){
    String workingDir = System.getProperty("user.dir");
    String workingChar = getWorkingChar();

    //other deploy
    return workingDir + workingChar + "webapps" + workingChar;

    //main deploy
    //return workingDir + workingChar + ".." + workingChar + "webapps" + workingChar;
}
您可以使用以下选项:

    GenericExtFilter filter = new GenericExtFilter(ext);
    File dir = new File("//CHOFILE/Public/QETeam/AutomationDownloads");     
    String[] list = dir.list(filter);
    int numbFile = list.length;

问题是因为共享文件夹未正确设置pemission。当我的管理员授予该共享文件夹的权限时,它工作正常

您是否尝试过“//CHOFILE//Public//QETeam//AutomationDownloads”?是的,我尝试过,在本地工作正常,事实上,从jenkins运行时,我发现了错误“参数‘directory’不是一个目录,您希望能够使用Java文件系统路径访问网络驱动器。这在Windows上不起作用。它需要一个驱动器号后跟一个路径或一个相对路径。请给出一个解决方案,我应该如何获得相对路径path@RealSkeptic你是对的,我想他需要相对路径。我也使用了system.getproperty(“file.separator”),但它不起作用。你能得到webapps目录吗?仅供参考,我正在运行jenkins的测试,该测试试图从共享位置读取文件。这就是我得到这个错误的原因13:24:24.359[pool-1-thread-1][chrome]信息收入详情-************************************************************************************************************\\CHOFILE\Public\QETeam\AutomationDownloads 13:24:24.740[pool-1-thread-1][chrome]错误TestLogger-失败的revenue.RevenueSanityTest.tc_003exportResultsFor3ProjectTypes-ch.latest:java.lang.IllegalArgumentException:参数“目录”不是目录
org.apache.commons.io.FileUtils.ValidateListFileParameters(FileUtils.java:545)确定,让我想想会是什么问题什么是extparameter@vini007这是您的扩展文件,我需要在POM中添加任何内容吗GenericExtFilter@vini007只是GenericExtFilterGenericFileFilter库,这是正确的一个!我说得对吗