エクスポートされたjarは、パスが同じであっても、いくつかのファイル(すべてではない)を検出します

drdavehere

eclipseからプログラムを実行すると、正常に表示され、Resources \からの画像が表示され、同じ場所からのサウンドも表示され、テキストファイルが正しく検出されます。ただし、jarをエクスポートし、7Zipを使用してリソースをそこにコピーすると、画像は機能しますが、同じフォルダーにあり、同じパスが使用されていても、サウンドとテキストファイルが見つかりません。私のコードでそれらを見つけるために。Resourcesという名前のjarファイルの横にフォルダーを配置し、そこにすべてを配置することでこれを修正できますが、jarファイルに配置するだけで画像に対してのみ機能する理由と、その方法を知りたいです。テキストファイルとオーディオファイルも処理します。私が何を意味するかを示す例:

File inventory = new File("Resources/inv.txt");
threadpath = "Resources/threads.wav";
enemy1 = new Sprite(new Texture("Resources/miniForestGolem.png"));

Eclipseで実行すると、3つすべてが正常に機能しますが、エクスポートして、resourcesフォルダーをjarファイルに配置すると、イメージのみが機能します。

編集:

私は自分のリソースを含める方法を知っています、そしてそうしました、私はそれらを追加した後でも、どのように/なぜいくつかのリソースにアクセスできないのかについて尋ねています

Jorge_B

わかりました。コメントから、Eclipseから実行することと.jarから実行することの違いを推測できます。

  • eclipseから:new File(...)Resources /で実際のファイル見つけるので、それは機能します
  • .jarから:アプリケーションの実行パスからの相対的な./Resources/パスにファイルがないため、機能しません。

それを機能させる方法は次のとおりです。

  • EclipseがResources /をソースフォルダーとして認識していることを確認します(プロジェクトのプロパティ、Javaビルドパスを右クリックして、ソースパスとして追加します)
  • Fileオブジェクトの代わりにを使用するAPIメソッドの代替を探しますInputStreams取得したら、クラスパスから取得したInputStreamsとしてすべてのリソースを取得します。MyClass.java内にいる場合は、次のようにしますMyClass.class.getClassLoader().getResourceAsStream("Resources/inv.txt")

これを行うことで達成したこと:File実際のオペレーティングシステムファイル上に構築されたオブジェクトの代わりにInputStreams、Javaアプリケーションのクラスパスから直接読み取りを取得します。このようにして、それらをjar、Webアプリケーション内のWEB-INF / classesディレクトリ、または一部のアプリケーションサーバーのライブラリフォルダにパッケージ化できます...アプリケーションのクラスパス内であればどこでもかまいません。アプリケーションをポータブルで使用可能な方法でパッケージ化する必要がある場合は、これを行います。

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

forループで作成されたC ++ポリモーフィックポインターは同じものを参照しますが、これはスマートポインターを使用していないためですか?

分類Dev

デバッグが実行されてもリリースがビルドされないのはなぜですか。同じソースファイルを使用しているプロジェクトの1つに対してのみです。

分類Dev

同じベースで、実行時に検出されるいくつかの機能のモジュール性を使用して、異なるクライアント用のプロジェクトを構築する方法はありますか?

分類Dev

JavaFX-アプリケーション:Eclipseではすべてのダイアログが表示されているのに、エクスポートされたjarファイルからメインステージのみが表示されます。なぜこの違いがあるのですか?

分類Dev

Windowsエクスプローラー(またはおそらく別のアプリ)を使用して「等しくない」検索を行い、見つかったファイルを削除するにはどうすればよいですか?

分類Dev

WebpackがTypeErrorをスローします:LESSファイルをインポートするとき、スーパー式はnullまたは関数のいずれかである必要があり、未定義であってはなりません

分類Dev

SSISDBデータベースからT-SQLを使用して、[すべての実行の概要]レポートに表示されている「使用されているパラメーター」のリストとまったく同じものを取得するにはどうすればよいですか。

分類Dev

パッケージファイルのリストには、分散ファイルのみが含まれることになっていますか、それともランタイムで生成されたファイルも含まれていますか?

分類Dev

同じイテレータを持つネストされたループがコンパイルされていますが、それはなぜですか?

分類Dev

PythonでCSVをインポートするためのファイルが見つかりません。ファイルパスが正しく、すべてがインストールされている

分類Dev

同じファイルの2つのバージョン(古いものと新しいもの)を比較し、変更があったかどうかを検出するにはどうすればよいですか?

分類Dev

2つのpklファイルがPythonで同じデータを持っているかどうかをテストする方法はありますか?

分類Dev

ユーザーディレクトリを失いました。レスキューディスクからマウントされていないパーティションを表示すると、すべてのファイルがまだそこにあります。復元するにはどうすればよいですか。

分類Dev

エクスポートしたcsvファイルにリストの内容が含まれていないのはなぜですか?

分類Dev

CSSが同じであるにもかかわらず、Firefoxでは検索ボックスの高さが高くなっています

分類Dev

NetCDFファイルがたくさんありますが、xarrayを使用してすべてのファイルを1つのPythonノートブックにアップロードするにはどうすればよいですか?

分類Dev

dotpeekによって逆コンパイルされたVS2015のプロジェクトは、同じクラスであいまいなエラーを報告します

分類Dev

Eclipseで実行可能なjarをエクスポートしようとしていますが、プログラムの実行に必要な他のいくつかのファイルを含める必要があります

分類Dev

このコードが表示されないのはなぜですかエラー:存在しないファイルによってeがスローされたときにファイルが見つかりませんでしたか?

分類Dev

レルムDBオブジェクトを削除しますが、すべてのオブジェクトが空であっても、レルムファイルのサイズは同じままです。やがて大きくなりすぎる

分類Dev

特定の文字列がほとんど含まれていないが、必ずしも同じ行にあるとは限らないすべてのファイルを見つけるにはどうすればよいですか?

分類Dev

「ls-lt」を使用してリストされたときに、同じタイムスタンプを持つファイルがアルファベット順にソートされないのはなぜですか?

分類Dev

Gulp-concatがまったく機能しない-1つではなくすべてのベースファイルを書き込む

分類Dev

sudoersファイルに含まれていなくてもスーパーユーザー権限を持っているのはなぜですか

分類Dev

編集するファイルを検索し、forループでAwkとFindを使用して別のファイルと同じディレクトリにエクスポートするにはどうすればよいですか?

分類Dev

別のファイルのクラスからメソッドをインポートしてもうまくいかないのはなぜですか?

分類Dev

スクリプトのタイムアウトが経過しました。インポートを終了する場合は、同じファイルを再送信してください。インポートが再開されます

分類Dev

メインのscssファイルがすべてのインポートされたファイルをスクリプトで更新していない

分類Dev

Pythonですべてのクラスを1つのファイルに入れるのではなく、モジュールをインポートしてクラスをグループ化することに欠点はありますか?

Related 関連記事

  1. 1

    forループで作成されたC ++ポリモーフィックポインターは同じものを参照しますが、これはスマートポインターを使用していないためですか?

  2. 2

    デバッグが実行されてもリリースがビルドされないのはなぜですか。同じソースファイルを使用しているプロジェクトの1つに対してのみです。

  3. 3

    同じベースで、実行時に検出されるいくつかの機能のモジュール性を使用して、異なるクライアント用のプロジェクトを構築する方法はありますか?

  4. 4

    JavaFX-アプリケーション:Eclipseではすべてのダイアログが表示されているのに、エクスポートされたjarファイルからメインステージのみが表示されます。なぜこの違いがあるのですか?

  5. 5

    Windowsエクスプローラー(またはおそらく別のアプリ)を使用して「等しくない」検索を行い、見つかったファイルを削除するにはどうすればよいですか?

  6. 6

    WebpackがTypeErrorをスローします:LESSファイルをインポートするとき、スーパー式はnullまたは関数のいずれかである必要があり、未定義であってはなりません

  7. 7

    SSISDBデータベースからT-SQLを使用して、[すべての実行の概要]レポートに表示されている「使用されているパラメーター」のリストとまったく同じものを取得するにはどうすればよいですか。

  8. 8

    パッケージファイルのリストには、分散ファイルのみが含まれることになっていますか、それともランタイムで生成されたファイルも含まれていますか?

  9. 9

    同じイテレータを持つネストされたループがコンパイルされていますが、それはなぜですか?

  10. 10

    PythonでCSVをインポートするためのファイルが見つかりません。ファイルパスが正しく、すべてがインストールされている

  11. 11

    同じファイルの2つのバージョン(古いものと新しいもの)を比較し、変更があったかどうかを検出するにはどうすればよいですか?

  12. 12

    2つのpklファイルがPythonで同じデータを持っているかどうかをテストする方法はありますか?

  13. 13

    ユーザーディレクトリを失いました。レスキューディスクからマウントされていないパーティションを表示すると、すべてのファイルがまだそこにあります。復元するにはどうすればよいですか。

  14. 14

    エクスポートしたcsvファイルにリストの内容が含まれていないのはなぜですか?

  15. 15

    CSSが同じであるにもかかわらず、Firefoxでは検索ボックスの高さが高くなっています

  16. 16

    NetCDFファイルがたくさんありますが、xarrayを使用してすべてのファイルを1つのPythonノートブックにアップロードするにはどうすればよいですか?

  17. 17

    dotpeekによって逆コンパイルされたVS2015のプロジェクトは、同じクラスであいまいなエラーを報告します

  18. 18

    Eclipseで実行可能なjarをエクスポートしようとしていますが、プログラムの実行に必要な他のいくつかのファイルを含める必要があります

  19. 19

    このコードが表示されないのはなぜですかエラー:存在しないファイルによってeがスローされたときにファイルが見つかりませんでしたか?

  20. 20

    レルムDBオブジェクトを削除しますが、すべてのオブジェクトが空であっても、レルムファイルのサイズは同じままです。やがて大きくなりすぎる

  21. 21

    特定の文字列がほとんど含まれていないが、必ずしも同じ行にあるとは限らないすべてのファイルを見つけるにはどうすればよいですか?

  22. 22

    「ls-lt」を使用してリストされたときに、同じタイムスタンプを持つファイルがアルファベット順にソートされないのはなぜですか?

  23. 23

    Gulp-concatがまったく機能しない-1つではなくすべてのベースファイルを書き込む

  24. 24

    sudoersファイルに含まれていなくてもスーパーユーザー権限を持っているのはなぜですか

  25. 25

    編集するファイルを検索し、forループでAwkとFindを使用して別のファイルと同じディレクトリにエクスポートするにはどうすればよいですか?

  26. 26

    別のファイルのクラスからメソッドをインポートしてもうまくいかないのはなぜですか?

  27. 27

    スクリプトのタイムアウトが経過しました。インポートを終了する場合は、同じファイルを再送信してください。インポートが再開されます

  28. 28

    メインのscssファイルがすべてのインポートされたファイルをスクリプトで更新していない

  29. 29

    Pythonですべてのクラスを1つのファイルに入れるのではなく、モジュールをインポートしてクラスをグループ化することに欠点はありますか?

ホットタグ

アーカイブ