resというラベルのフォルダからグラフィックスとサウンドエフェクトを読み込むプロジェクトがあります。このフォルダは、srcフォルダと同じディレクトリレベルにあります。リソースルートとしてマークされているresがあります。IntelliJ IDEAのJAR成果物にリソースフォルダを正しく含めるにはどうすればよいですか?
私は プロジェクトの構造を経由してコンテンツディレクトリとして解像度が含まれるように、私のアーティファクトを設定し - >アーティファクト - >追加(Altキー+挿入) - > JAR
を次に、出力レイアウト]タブでは、私が押されましたドロップダウンボックスを追加 - >ディレクトリの内容 - > res
私はIntellijでプロジェクトを実行すると、リソースがうまく見つかりました。ここで私はリソースにアクセスする方法を示すコードスニペットです:
public static final Sfx VOID_SOUND = new Sfx(TinySound.loadSound(new File("res/audio/sfx/void_sound.wav")));
私は、スタンドアロンのアーティファクトをビルドするときしかし、その後、jarファイルを実行し、それはファイルパスに私のマシンの親ディレクトリを付加することで、リソースを探します、ルートに至るまで。
/home/user/Demo/res/audio/sfx/void_sound.wav (No such file or directory)
Error getting resource stream!
適切な場所にアーチファクトビルドを設定する方法はありますか? jarファイルの中に含まれるリソースを必要とするので、外部依存関係のないスタンドアロンのjarとして機能します。
私のユーザーアカウントのホームディレクトリにあるので、そのディレクトリには絶対にアクセス許可があります。私のアカウントはこのマシンのroot以外の唯一のアカウントですので、共有されている場所に最も近いアカウントです。パーミッションを持つことができない唯一の方法は、ルートのみのパーミッションでマークされたディレクトリにあるかどうかです。 – DayTripperID