[java] 명령 줄로 .jar 파일 추출

.jar 파일에서 파일을 추출하려고합니다. 명령 줄을 사용하여 어떻게합니까?

Windows 7을 실행하고 있습니다.



답변

에서 워드 프로세서 :

jar 파일에서 파일을 추출하려면 다음과 같이을 사용하십시오 x.

C:\Java> jar xf myFile.jar

jar 파일에서 특정 파일 만 추출하려면 파일 이름을 제공하십시오.

C:\Java> jar xf myFile.jar foo bar

jar아마도 C:\Java당신을위한 것이 아닌 폴더 는 내 Windows 파티션에서 다음과 같습니다.

C:\Program Files (x86)\Java\jdk[some_version_here]\bin

의 위치 jar가 경로 환경 변수에 있지 않는 한 전체 경로를 지정하고 폴더 내에서 프로그램을 실행해야합니다.

편집 : 여기에 특히 JAR 추출에 초점을 맞춘 또 다른 기사가 있습니다. http://docs.oracle.com/javase/tutorial/deployment/jar/unpack.html


답변

jar 파일은 Zip 파일이며 모든 Zip 도구 (예 : 7-Zip)는 jar 내부를 볼 수 있습니다.


답변

Ubuntu에서 :

unzip file.jar -d dir_name_where_extracting


답변

다음 명령을 사용할 수 있습니다. jar xf rt.jar

여기서는 X추출 f을 나타내며 파일을 추출 할 JAR 파일이 stdin을 통하지 않고 명령 줄에 지정됨을 나타내는 옵션입니다.


답변

Java에는 zip 파일을위한 클래스가 있고 Jar 파일을위한 클래스가 있습니다.

java.util.jar.JarOutputStream
java.util.jar.JarInputStream

system.in으로 설정된 스캐너를 사용하여 콘솔의 명령으로 할 수있는 것들을 사용합니다.

Scanner console = new Scanner(System.in);
String input = console.nextLine();

그런 다음 모든 구성 요소를 가져 와서 파일로 작성하십시오.

JarEntry JE = null;
while((JE = getNextJarEntry()) != null)
{
    //do stuff with JE
}

대신 java.util.zip.ZipInputStream을 사용할 수도 있습니다. JAR 파일이 ZIP 파일과 동일한 형식임을 알면 ZipInputStream이 Jar 파일을 처리 할 수 ​​있습니다. 실제로 JarInputStream은 실제로 ZipInputStream을 확장합니다.

대안은 getNextJarEntry 대신 getNextEntry를 사용하는 것입니다.


답변

jar xf myFile.jar

변화의 myFile는 파일의 이름을 지정합니다

이 .jar 파일의 현재 폴더에있는 내용을 저장합니다

수행해야합니다 :


답변

Me.Jar라는 파일이 주어지면 :

  1. cmd로 이동
  2. Enter를 누르십시오
  3. Java jar명령 사용-jdk1.8.0_31을 사용하고 있으므로 다음을 입력합니다.

    C : \ Program Files (x86) \ Java \ jdk1.8.0_31 \ bin \ jar xf me.jar

파일을 폴더 bin에 추출해야합니다. 내 경우에는 Me.jar에 Valentine.class가 포함되어있는 .class 파일을 찾으십시오.

입력 java Valentine하고 Enter 키를 누르면 메시지 파일이 열립니다.