繁体   English   中英

Jenkins中没有此类File异常,但在本地运行良好

[英]No such File exception in Jenkins, but runs fine locally

我的代码有一个JUnit测试文件,该文件读取xml文件并将其转换为字符串:

String xml = new String(Files.readAllBytes(Paths.get("src\\test\\resources\\testfile.xml")));

该测试在本地运行并通过,但是当我运行Jenkins构建时,它将失败并显示java.nio.file.NoSuchFileException:src \\ test \\ resources \\ testfile.xml

推送时是否需要更改文件路径?

您应该为此使用资源作为流:

InputStream is = getClass().getClassLoader().getResourceAsStream(fileName);
if (is != null) {
    BufferedReader reader = new BufferedReader(new InputStreamReader(is));
    String xml = reader.lines().collect(Collectors.joining(System.lineSeparator()));
}

(代码可以改进很多……但是它将为您提供指导)

(签出按资源尝试处理流)

好了,所以我发现了问题,觉得很傻。 当Java在Windows机器上构建时,使用\\分隔文件就可以了; 但是,当詹金斯(Jenkins)生成时,文件必须用/分隔

即我的文件名应该是

src/test/resources/testfile.xml

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM