Java

JAR - 압축/해제/디컴파일

비번변경 2021. 8. 16. 19:06
JAR
Java Archive
자바 클래스 파일과 클래스가 이용하는 리소스 및 메타데이터를 자바 플랫폼에 애플리케이션이나 라이브러리로 배포하기 위한 소프트웨어 패키지 파일 포맷

 

확장자는 .jar이며, 실제로는 zip 파일 포맷으로 이루어진 압축 파일이다. JDK에 포함된 jar 명령어를 이용해 jar 파일을 생성하거나 압축을 해제할 수 있다.

jar 파일은 자바 런타임이 효율적으로 애플리케이션을 배포할 수 있는 수단이며, 요청 한 번으로 애플리케이션 전체를 다운로드할 수 있게 한다.

 

압축

jar -cvf <FLIENAME> <PATH>
# -c : 새 jar 패키지 파일 생성
# -v : 상세 정보 확인
# -f : jar 파일 이름 지정

PATH의 디렉터리를 FILENAME으로 압축한다.

 

압축 해제

  • 반디집과 같은 일반 압축 해제 소프트웨어
  • jar 명령어
    jar -xvf <FILE>
    # -x : extract. jar 파일로부터 파일 추출

 

실행

jar 파일은 -jar 옵션을 이용해 실행할 수 있다.

java -jar <FILE>

 

디컴파일

java는 컴파일러를 통해 .java 파일을 바이트 코드인 .class 파일로 만들지만, java와 같은 프로세스 독립적인 언어는 역컴파일이 가능한 구조를 가지게 된다. 즉, 역 컴파일 작업을 통해 바이트 코드로 변환된 .class 파일은 .java 파일로 되돌릴 수 있다.

 

Java Decomplier

Java Decomplier

JD-GUI라고도 하며, GUI를 제공하기 때문에 많이 사용되는 Java 역 컴파일 도구이다. 이클립스 플러그인도 기능을 제공하고 있다.

 

소개 페이지 : http://java-decompiler.github.io/


참고로 jd-gui 실행에는 java가 필요하다……. 당연하다…….

728x90