2017-03-21 1 views
0

私の問題を説明しましょう。私はintelliJ IDEを使用し、統合されたRun-> Run(^ R)コマンドを使って定期的に自分のgradle-projectを実行したいと思っています。 すべてが正常に正常に動作します。JARと直接実行のリソースパスを処理するベストプラクティス

しかし、私はまた、完全に構築されたJARファイルをいくつかのテスターに​​配布したいと思っています。 問題は、JARが正しく実行されないことです。NullPointerExceptionリソースディレクトリにある適切なグラフィックスプライトをfindindできないためです。

スプライトは、このコードがロードされています

hintergrundBild = new Bild(this.getClass().getResourceAsStream("../sprites/Backgrounds/desert-background-looped_large.jpg")); 

(これは直接プロジェクトを実行するためではなく、ビルドJARファイルのために完璧に動作します)。

私のプロジェクトの構造をチェックしてみて下さい:、私は方法でリソースをロードする方法を探しています

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' 
    } 
} 

それは動作します: Project structure

はたぶんbuild.gradleファイルには、あまりにも、関連性があります実行とJARのビルドにも使用できます。 私は与えられた助けを本当に感謝します。ありがとうございました。あなたはこれを変更した場合は何

答えて

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"));

関連する問題