我正在使用junit中的以下行读取java中的文件,
getClassLoader()的getResource(SOME_VALUE);
同样在eclipse中工作正常,但是当它在jenkins中运行时会产生问题,因为jenkins执行了检测的junit,因此类加载器指向不同的类路径。如何解决这个问题?
答案 0 :(得分:0)
:
URL url = this.getClass().getResource("/Your_file_Path")
来自ClassLoader的,所有路径都是"绝对的"已经 - 没有背景,他们可能是相对的。因此,您不需要领先的斜杠。
InputStream in = this.getClass().getClassLoader()
.getResourceAsStream("Your_file_Path");
来自Class,路径是相对于类的包的,除非你包含一个前导斜杠,所以如果你不想使用当前的包,请包含这样的斜杠:
InputStream in = this.getClass().getResourceAsStream("/Your_file_Path");