Daily Notebook

[Linux] JAR 명령어 소화하기

by 배부른코딩로그
💡 Java 개발자면 JAR 명령어 정도는 알아둬야지!

목표

  • JAR 명령어를 적재적소 활용할 수 있다.
  • JAR 명령어가 기억이 나지 않을 때, 예제를 보고 상기시킬 수 있다.

 

JAR 명령어

jar 실행하기

# *.jar 실행하기
$ java -jar [C:/경로/대상파일.jar]

# 컴파일
$ javac -cp [C:/경로/대상파일.jar] MainClass.java

# 메인클래스 백그라운드 실행하기
$ javac -cp [C:/경로/대상파일.jar] [MainClass] &

 

jar 패키지 확인하기

$ jar -tf [대상파일.jar]
META-INF/
META-INF/MANIFEST.MF
index.html
README.md
com/jar/JarMain.class
com/jar/JarName.class
com/jar/JarService.class

오히려, unzip 명령어가 더 많이 사용된다.

unzip -l 명령어는 jar 내부 파일들이 언제 변경됐는지까지 확인 가능하기 때문에 편리하다.

$ unzip -l [대상파일].jar
Archive:  [대상파일].jar
  Length      Date    Time    Name
---------  ---------- -----   ----
        0  2022-03-04 11:23   META-INF/

 

jar 특정 클래스 파일 교체하기

jar 파일 내에 교체할 클래스 파일의 위치를 정확하게 알고 있어야 한다.

jar 패키키를 확인하여 아래와 같은 절차를 통해 특정 클래스 파일을 교체할 수 있다.

 

  1. JarName.class를 com/jar/ 디렉토리 내에 있음을 파악한다.
  2. mkdir -p com/jar 동일한 구조로 만들어준다.
  3. mv JarName.class.new com/jar/JarName.class 신규 클래스 파일을 해당 위치에 넣어준다.
  4. jar -uf JarName.jar com/jar/JarName.class 명령어를 통해 클래스 파일을 교체한다.
  5. unzip -l [대상파일.jar] 명령어를 통해 잘 변경됐는지 확인한다.

 

 

 

출처

 

Last Updated. 2022. 03. 04.

 

반응형

블로그의 정보

배부른코딩로그

배부른코딩로그

활동하기