这是我的项目布局:
src/
test/
resources/
ares/
file1.xml
file2.xml
这是 Jenkins 工作区的布局:
my-module/
target/
test-classes/
ares/
file1.xml
file2.xml
在 Eclipse 下,测试运行没有任何错误。 在 Jenkins 下,测试失败了。Jenkins 无法定位资源。 以下是测试执行的一些输出:
Eclipse
MyClass.class.getResourceAsStream(/ares/file1.xml) => java.io.BufferedInputStream@4f4b2f1a
MyClass.class.getResourceAsStream(ares/file1.xml) => null
Thread.currentThread().getContextClassLoader().getResourceAsStream(/ares/file1.xml) => null
Thread.currentThread().getContextClassLoader().getResourceAsStream(ares/file1.xml) => java.io.BufferedInputStream@5d402eeb
MyClass.class.getClassLoader().getResourceAsStream(/ares/file1.xml) => null
MyClass.class.getClassLoader().getResourceAsStream(ares/file1.xml) => java.io.BufferedInputStream@20c87621
Jenkins
MyClass.class.getResourceAsStream(/ares/file1.xml) => null
MyClass.class.getResourceAsStream(ares/file1.xml) => null
Thread.currentThread().getContextClassLoader().getResourceAsStream(/ares/file1.xml) => null
Thread.currentThread().getContextClassLoader().getResourceAsStream(ares/file1.xml) => null
MyClass.class.getClassLoader().getResourceAsStream(/ares/file1.xml) => null
MyClass.class.getClassLoader().getResourceAsStream(ares/file1.xml) => null
正如您所看到的,Jenkins找不到我的资源。
我缺少什么?
<testResources>
目录呢?无论如何,默认值为src/test/resources
。 - Gerold Broser