저는 *.jar
파일 작업을 하고 있습니다. 제가 이해하는 한 파일은 zip
나 unzip
명령과 같은 표준 도구를 사용하여 조작할 수 있는 아카이브 형식입니다.
이미 압축된 파일을 교체해야 하는 경우가 종종 있습니다. 지금까지 압축을 풀고 이전 파일을 삭제하고 새 파일을 좋은 위치로 옮깁니다(소스 아카이브이므로고도로 계층화된) 그런 다음 다시 압축했습니다.
더 빨리 할 수 있습니까? 교체할 파일, 교체할 대상 아카이브, 아카이브로 교체할 파일의 경로 등 3가지 정보가 됩니다.
답변1
다음 두 단계로 수행할 수 있습니다.
zip -d myjar.jar path/to/file/to/delete
jar uf myjar.jar -C base/path path/to/file/to/add
-C base/path
이미 기본 디렉터리( 포함)에 있는 경우 해당 부분을 무시할 수 있습니다 path/to/file/to/add
.
일반 ZIP 파일이 아닌 JAR로 작업할 때는 가능한 한 사용하기 jar
보다는 JAR 을 사용하는 습관을 들여야 합니다 . zip
매니페스트가 올바르게 저장되었는지 확인합니다.
일반 ZIP 파일을 사용하면 간단히 (재)보관하여 파일을 추가하거나 업데이트할 수 있습니다. 따라서 위의 명령 대신 다음을 jar
사용하십시오.
zip myzip.zip path/to/file/to/add
이 작업을 수행하려면 기본 디렉터리에 있어야 합니다. ( jar
역시 작동하지만 jar
ZIP 파일로 작업할 때 요구하는 것은 이상합니다.)