В моем проекте gradle есть каталог ресурсов. Используя статический getResourceAsStream, я получаю доступ к файлу из этого каталога. Это работает в Eclipse или при локальном запуске gradle из командной строки. Но при работе в Travis-CI он не может найти файл.
Я пытался использовать «Thread.currentThread (). GetContextClassLoader (). GetResourceAsStream» и «LenPEGUtil.class.getClassLoader (). GetResourceAsStream», но каждый из них либо перестал работать локально, либо все еще не работал в Travis. -ci.
build.gradle с исходными наборами
sourceSets{
main{
java {
srcDir 'src'
}
resources {
srcDir 'resources'
}
}
test{
java{
srcDir 'test'
}
resources{
srcDir 'testResources'
}
}
}
код Java, читающий файл:
private static BufferedImage lenna;
static {
try {
InputStream lennaInputStream = LenPEGUtil.class.getResourceAsStream("/lenna.png");
setLenna(ImageIO.read(lennaInputStream));
} catch (Exception e) {
e.printStackTrace();
}
}
Локально это работает. Но в Travis-CI я получаю исключение:
jjcard.jlenpeg.lenPEGWriterTest STANDARD_ERROR
java.lang.IllegalArgumentException: input == null!
at javax.imageio.ImageIO.read(ImageIO.java:1348)
at jjcard.jlenpeg.LenPEGUtil.<clinit>(LenPEGUtil.java:96)
at jjcard.jlenpeg.lenPEGWriterTest.setup(lenPEGWriterTest.java:23)