728x90
반응형
JAR파일 EXPORT 할 때 사용하는 옵션이 3개가 있다.
- Extract required libraries into generated JAR
- Package required libraries into generated JAR
- Copy required libraries into a sub-folder next to the generated JAR
#1 필수 라이브러리를 JAR로.class 추출 - 앱이 사용하는 라이브러리에서 실제 파일을 추출하고 해당 .class 파일을 실행 가능한 JAR에 넣습니다. 따라서 실행 가능한 JAR에는 .class 애플리케이션의 파일뿐만 아니라 .class 애플리케이션이 사용하는 모든 라이브러리의 파일도 포함됩니다.
#2 JAR에 필수 라이브러리 패키지 - 라이브러리의 실제 JAR 파일을 실행 가능한 JAR에 넣습니다. 일반적으로 JAR 파일 내의 JAR 파일은 JVM에서 로드할 수 없습니다. 그러나 Eclipse는 이를 가능하게 하기 위해 실행 가능한 JAR에 특수 클래스를 추가합니다.
#3 필요한 라이브러리를 JAR 옆의 하위 폴더에 복사 - 라이브러리 JAR을 실행 가능한 JAR과 완전히 분리하여 실행 가능한 JAR에 .class 애플리케이션 파일만 포함하도록 유지합니다.
옵션 #2는 모든 것을 단일 JAR로 깔끔하게 패키징하고 라이브러리 JAR을 애플리케이션 파일과 분리하여 유지하기 때문에 편리합니다.
그러나 단일 JAR(옵션 #1 및 #2) 안에 모든 것을 패키징하는 것의 단점은 애플리케이션을 업데이트하면 사용자가 애플리케이션을 업데이트하기 위해 더 많은 데이터를 다운로드해야 한다는 것입니다. JAR가 별도로 유지되는 경우 사용자는 애플리케이션 코드와 모든 라이브러리 코드가 포함된 대규모 단일 JAR 대신 애플리케이션 코드가 포함된 JAR만 다운로드하면 됩니다.
728x90
반응형
'IT > WEB' 카테고리의 다른 글
swagger ui 추가하기 API 설명 웹 페이지 (0) | 2022.06.20 |
---|---|
[JAVA] 환경변수 값 불러오기 System.getenv() (0) | 2022.06.10 |
[https 오류] Mixed content this request has been blocked the content must be served over https (0) | 2022.05.24 |
[JAVA] executeBatch 예외 처리 해결 (에러 무시하고 인서트) (1) | 2022.05.19 |
[JAVA] JDBC 대량 인서트 성능 향상 (addBatch, executeBatch) (0) | 2022.05.18 |