[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 패키키를 확인하여 아래와 같은 절차를 통해 특정 클래스 파일을 교체할 수 있다.
- JarName.class를 com/jar/ 디렉토리 내에 있음을 파악한다.
- mkdir -p com/jar 동일한 구조로 만들어준다.
- mv JarName.class.new com/jar/JarName.class 신규 클래스 파일을 해당 위치에 넣어준다.
- jar -uf JarName.jar com/jar/JarName.class 명령어를 통해 클래스 파일을 교체한다.
- unzip -l [대상파일.jar] 명령어를 통해 잘 변경됐는지 확인한다.
출처
- jar-The Java Archive Tool, Oracle
- Wiki, Based on my experience
Last Updated. 2022. 03. 04.
반응형
'Server > Linux' 카테고리의 다른 글
[Linux] PID(프로세스ID)만으로 실행 경로 찾기 (0) | 2023.03.09 |
---|---|
[Linux] 백스페이스 ^H 제거 (0) | 2022.03.11 |
[Linux] TAR 명령어 소화하기 (0) | 2022.03.04 |
[Linux] vi editor - ^M 문자 제거 (0) | 2021.11.02 |
[Linux] 파일 찾기, 특정 문자열 찾기 (0) | 2021.07.01 |
블로그의 정보
배부른코딩로그
배부른코딩로그