Linuxのjarファイルまたはzipファイルにある参照ファイル

Linuxのjarファイルまたはzipファイルにある参照ファイル

URLを使用してJARまたはZIPファイル内のファイルを参照できるかどうか疑問に思います。これは、ツール(Java Jarユーティリティなど)を使用せずにオペレーティングシステムレベルでのみ使用することを意味します。

たとえば、myfileJarファイルにファイルがある場合は、myjar次のように書くことができます。

ls -name 'jar:file:/myjar!/myfile'

リストされたファイルを表示します。myfile

この質問の背景は、JARファイルに圧縮されたPrologファイルをロードする必要があることです。最後に、Prologファイルをロードするコマンドが要求をオペレーティングシステムに送信することを願っています。オペレーティングシステムが私が何を言っているのかを理解できるように、JARまたはZIPファイル内のファイルを参照する正しい方法を見つける必要があると思います。 (私はOSXを使用しています)。

答え1

これAVFS/path/to/foo.zipファイルシステムは、各アーカイブファイルがディレクトリにアクセスできるファイルシステムビューを提供します~/.avfs/path/to/foo/zip#。 AVFSは、最も一般的なアーカイブファイル形式への読み取り専用アクセスを提供します。

AVFSをインストールします(多くのディストリビューションがこれを提供します。ヒューズ、すべての最新のUNIXでサポートされています)。このコマンドを一度実行します(で実行できます~/.profile)。

mountavfs

その後:

ls /path/to/my.jar\#/myfile

関連情報