2016-06-23 18 views
0

実行時にsrc/main/resourcesディレクトリにスイッチの設定を変更するバイナリファイルがあります。私がデバッグモードでEclipseを試してみると、ファイルが存在していて問題はありませんが、実際のアプリケーション用の実行可能なjarファイルを作成すると、このファイルは存在しません。実行可能なjarファイルに埋め込みファイルが見つかりませんでした。

問題はどこですか?

String filePath = new File("/resources/firmwares/myConfigFile.bin").getAbsolutePath(); 

File f = new File(filePath); 
    if (f.exists()) 
      upload(); 
+1

これはSOに約1000の答えを持って、[ここにある1](http://stackoverflow.com/questions/574809/load-a-resource-contained-in-a-jar) 。 – Stefan

+0

「埋め込みファイル」のようなものはありません。ファイルがあり、リソースがあります。異なるもの。 – EJP

答えて

0

あなたがMavenを使用していると仮定すると、あなたのJARが作成されると、それはまた、彼らに

をパッケージ化しますパッケージ化の際に、それは、ターゲット・ディレクトリにリソースをコピーします構築Mavenの中のように、あなたは、リソースプラグインを追加しました

InputStream is = this.getClass().getClassLoader().getResourceAsStream("firmwares/myConfigFile.bin"); 
:今、あなたのファイルは、JARファイルの使用の内側に配置されたファイルにアクセスするには、JARファイル

内にパッケージされているので、あなたのファイルにアクセスするための別の方法を使用する必要があります

それとも

URL url = this.getClass().getClassLoader().findResource("firmwares/myConfigFile.bin"); 
関連する問題