让我解释一下我的问题。我使用intelliJ IDE并希望通过集成的Run-> Run(^ R)命令定期运行我的gradle-project。 一切都按预期工作正常。
但我还想将一个完全构建的JAR文件部署到某些测试人员。 问题是,JAR将无法正常运行,抛出 NullPointerException ,因为找不到位于资源目录中的正确图形精灵。
精灵加载了这段代码:
hintergrundBild = new Bild(this.getClass().getResourceAsStream("../sprites/Backgrounds/desert-background-looped_large.jpg"));
(这适用于直接运行项目,但不适用于构建JAR文件)。
也许build.gradle文件也是相关的:
group 'me.myGroupName'
version '1.0-SNAPSHOT'
apply plugin: 'java'
sourceCompatibility = 1.8
repositories {
mavenCentral()
}
dependencies {
testCompile group: 'junit', name: 'junit', version: '4.11'
}
jar {
manifest {
attributes 'Implementation-Title': 'Gradle Quickstart',
'Implementation-Version': version,
'Main-Class' : 'SpaceShooter.SpaceShooter'
}
}
我正在寻找一种以某种方式加载资源的方法,这种方式适用于Running和构建JAR。 我真的很感激任何帮助。谢谢。
答案 0 :(得分:0)
hintergrundBild = new Bild(this.getClass().getResourceAsStream("../sprites/Backgrounds/desert-background-looped_large.jpg"));
如果将其更改为?
,该怎么办? hintergrundBild = new Bild(this.getClass().getResourceAsStream("/sprites/Backgrounds/desert-background-looped_large.jpg"));