Java 使用Travis CI和Gradle时从getResourceAsStream获取null
在我的gradle项目中,它有一个资源目录。使用静态getResourceAsStream,我从该目录访问一个文件。这在Eclipse中或从本地命令行运行gradle时有效。但在Travis CI中运行时,无法找到该文件 我尝试过使用“Thread.currentThread().getContextClassLoader().getResourceAsStream”和“LenPEGUtil.class.getClassLoader().getResourceAsStream”,但这两种方法都使它停止在本地工作,或者在Travis CI中仍然失败 包含源集合的build.gradleJava 使用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”,但这两种方法都使
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如果您是正确的,那么整个过程都是一个区分大小写的问题。我不知道我怎么会错过这么长时间。