Linux의 jar 또는 zip 파일에 있는 참조 파일

Linux의 jar 또는 zip 파일에 있는 참조 파일

URL을 사용하여 JAR 또는 ZIP 파일 내의 파일을 참조할 수 있는지 궁금합니다. 즉, 도구(예: Java Jar 유틸리티)를 사용하지 않고 운영 체제 수준에서만 사용한다는 의미입니다.

예를 들어 myfileJar 파일에 파일이 있는 경우 myjar다음과 같이 작성할 수 있기를 원합니다.

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

나열된 파일을 봅니다.myfile

이 질문의 배경은 JAR 파일로 압축된 Prolog 파일을 로드해야 한다는 것인데, 현재 사용하고 있는 콘솔 기반 Prolog 인터프리터(YAP)를 사용하여 이 작업을 수행하는 방법을 찾지 못했습니다. 마지막에 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

관련 정보