Java 使用Travis CI和Gradle时从getResourceAsStream获取null

Java 使用Travis CI和Gradle时从getResourceAsStream获取null,java,gradle,travis-ci,Java,Gradle,Travis Ci,在我的gradle项目中,它有一个资源目录。使用静态getResourceAsStream,我从该目录访问一个文件。这在Eclipse中或从本地命令行运行gradle时有效。但在Travis CI中运行时,无法找到该文件 我尝试过使用“Thread.currentThread().getContextClassLoader().getResourceAsStream”和“LenPEGUtil.class.getClassLoader().getResourceAsStream”,但这两种方法都使

在我的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代码:

私有静态缓冲区映像lenna;
静止的{
试一试{
InputStream lennaInputStream=LenPEGUtil.class.getResourceAsStream(“/lenna.png”);
setLenna(ImageIO.read(lennaInputStream));
}捕获(例外e){
e、 printStackTrace();
}
}
在当地,这是可行的。但在Travis CI中,我有一个例外:

jjcard.jlenpeg.lenPEGWriterTest标准错误
java.lang.IllegalArgumentException:input==null!
在javax.imageio.imageio.read(imageio.java:1348)
在jjcard.jlenpeg.LenPEGUtil.(LenPEGUtil.java:96)
位于jjcard.jlenpeg.lenPEGWriterTest.setup(lenPEGWriterTest.java:23)

您正在TravisCI上运行(而不仅仅是构建)您的代码,与Gradle一起?怎么用?发布代码和用于执行此操作的命令。同时向我们显示确切的文件位置和名称(我怀疑您有一个案例问题,它在Windows上没有显示,但在Linux上显示)@jbnize如果您是正确的,那么整个过程都是一个区分大小写的问题。我不知道我怎么会错过这么长时间。你正在和Gradle一起在TravisCI上运行(而不仅仅是构建)你的代码?怎么用?发布代码和用于执行此操作的命令。同时向我们显示确切的文件位置和名称(我怀疑您有一个案例问题,它在Windows上没有显示,但在Linux上显示)@jbnize如果您是正确的,那么整个过程都是一个区分大小写的问题。我不知道我怎么会错过这么长时间。