1

archive1.jarというjarファイルがあり、/home/ext/libsにあります。これには、いくつかのクラスと、jar の階層のルートにあるテキスト ファイル ( data.txt ) があります。この jar のクラスの 1 つ ( Data.java など) がファイルを読み取り、内部データ構造を開始します。

これで、archive1.jar は、まったく別のディレクトリ/home/progsで実行されるParsingという別のプログラムのライブラリとして含まれています(プログラムの実行コマンドのクラスパスに archive1.jar が指定されています)。

私が直面している問題は、Data.java が data.txt のパスを認識できなくなったことです。これは、data.txtが/home/ext/libsの archive1.jar 内ではなく、 /home/progsにあると想定しているためです。

私の質問は、 data.txtが archive1.jar 内にあることを理解するために、Data.java内でどのような変更を行う必要があるかということです。要するに、呼び出しプログラムがどこにあるかに関係なく、data.java が archive1.jar 内の data.txt を読み取れるようにする方法です。

注: thread Java resource as fileでは、状況が少し異なり、jar 内のファイルを読み取る方法についても回答がありませんでした。一人は、それは不可能かもしれないと言いました。

4

1 に答える 1