シリアルポート通信用のJavaアプリを作成していますが、アプリのフォルダー内に、実行時に存在する必要のある2つのリソースがあります。1つはスプラッシュ画面として使用されているイメージで、もう1つはプログラムの起動時に読み取る必要のある構成ファイルです。
Linuxの「tree」コマンドからの出力の要約版を次に示します。参照する必要がある2つのファイルは、「commandSet.config」と「splash-screen2.png」です。
.
├── bin
│ ├──...
├── commandSet.config
├── app-manifest.txt
├── splash-screen2.png
└── src
├── events
│ └── InterfaceEvents.java
├── models
│ ├── Command.java
│ └── Phone.java
├── operations
│ ├── Application.java
│ ├── ...
└── views
├── CallDialog.java
├── SplashScreen.java
└── Window.java
私は現在、次の行で参照しています。
BufferedReader in = new BufferedReader(new FileReader("commandSet.config"));
と
JLabel image = new JLabel(new ImageIcon("splash-screen2.png"));
これは、Eclipseから実行している場合は正常に機能しますが、実行可能なJARにエクスポートするとすぐにファイルが移動されないため、正しく参照されません。それらを「src」フォルダーに移動しようとしましたが、その結果、JAR内にアーカイブされましたが、それでも参照できませんでした。
私はJavaプロジェクトをエクスポートするという概念にかなり慣れていないので、何か明らかなことを見逃しているかもしれません。誰かがこれを行うための最良の方法と将来のプロジェクトファイルシステムのための最良のアプローチを私に教えてくれれば、私は非常に感謝するでしょう。乾杯!