ジャスト:Jarの構築 - リソースファイルのインクルード方法この質問に私の立場を明確にするのIntelliJ 2017
- ため、私はそれらなしで絶対パスを使用しています、私のテストは失敗します。
- 私は相対パスの使い方を理解できていないと思います。
- 最終的には、ファイルパスの依存関係がなくても動作するjarが必要です。
検索中です。私は、フォルダ形式持っ
に...私のために働いた解決策が見つかりません:
String currentTheory = "src/main/resources/Prolog_Files/kb.pl";
そして、それをロードします。私のコードで
src/main/java/packages/javafiles.java (there are several)
src/main/resources/Prolog_Files/fileIWantToLoad.pl
を、私は絶対パスを述べるために持っています
Theory theory = new Theory(new FileInputStream(currentTheory));
JavaFXアプリケーションを実行してテストを実行すると、完全に機能します。
私は瓶をビルドするときしかし、私はエラーを取得:
Caused by: java.io.FileNotFoundException: src\main\resources\Prolog_Files\kb.pl (The system cannot find the path specified)
私はこの仕事を作る方法を探しての多くを行ってきました。私が試した、と使用できませんでしたしました:
File currFile = new File(getClass().getClassLoader().getResource("/src/main/resources/Prolog_Files/kb.pl").getFile());
と
InputStream stream = getClass().getResourceAsStream("main/resources/Prolog_Files/kb.pl");
と同様に、IntelliJの内部リソースとしてフォルダが含まれるようにしようと周りにフォルダを移動し、.plというを参照しようとしていますパス情報のないファイル。
この4時間後に私の髪を引き裂く - 助けてください!
編集:追加するだけで、私はMaven、ANTなどを使用していません。私は単にIntelliJが提供するものを使用しています。
ありがとうございます!
こんにちは、私も絶対パスなしで試しました - 私は、瓶が/ rootとして/ srcを取ることはかなり確信していますが、 "resources/Prolog_Files/kb.pl" 。 –