[Java] jar 파일에 포함된 외부 라이브러리를 제거하는 방법.

2024. 9. 27. 13:03Language/java

728x90
728x90

JAR 파일 ?

  • Java ARchive의 약자로, 여러 개의 파일을 하나의 아카이브 파일로 묶은 압축 파일.
  • Java 클래스, 라이브러리, 메타데이터, 리소스 파일 등을 패키징함.

작업 내역.

  • simulator-1.4.10_oracle.jar 파일에 포함된 ons-19.3.0.0.jar 를 제거.

JAR 파일의 외부 라이브러리 경로를 조회.

$ jar -tf simulator-1.4.10_oracle.jar | grep BOOT-INF/lib
BOOT-INF/lib/
BOOT-INF/lib/spring-boot-starter-web-2.3.11.RELEASE.jar
BOOT-INF/lib/spring-boot-starter-data-jpa-2.3.11.RELEASE.jar
BOOT-INF/lib/spring-boot-starter-validation-2.3.11.RELEASE.jar
BOOT-INF/lib/spring-boot-starter-json-2.3.11.RELEASE.jar
BOOT-INF/lib/spring-boot-starter-aop-2.3.11.RELEASE.jar
BOOT-INF/lib/spring-boot-starter-jdbc-2.3.11.RELEASE.jar
BOOT-INF/lib/spring-boot-starter-2.3.11.RELEASE.jar
BOOT-INF/lib/spring-boot-starter-tomcat-2.3.11.RELEASE.jar
BOOT-INF/lib/spring-webmvc-5.2.15.RELEASE.jar
BOOT-INF/lib/spring-security-web-5.3.9.RELEASE.jar
BOOT-INF/lib/spring-web-5.2.15.RELEASE.jar
BOOT-INF/lib/jakarta.transaction-api-1.3.3.jar
BOOT-INF/lib/jakarta.persistence-api-2.2.3.jar
BOOT-INF/lib/hibernate-core-5.4.31.Final.jar
BOOT-INF/lib/spring-data-jpa-2.3.9.RELEASE.jar
BOOT-INF/lib/spring-aspects-5.2.15.RELEASE.jar
BOOT-INF/lib/jakarta.el-3.0.3.jar
BOOT-INF/lib/hibernate-validator-6.1.7.Final.jar
...

JAR 파일에 포함된 외부 라이브러리를 제거하는 방법.

$ zip -d simulator-1.4.10_oracle.jar BOOT-INF/lib/ons-19.3.0.0.jar
deleting: BOOT-INF/lib/ons-19.3.0.0.jar

 

728x90
728x90