이론 정리/Spring boot

Fat JAR / Thin JAR 간략정리

철매존 2024. 11. 26. 18:44
728x90

Spring Boot 관련 회의를 하는데 Fat JAR이라는 이야기가 나왔다.
근데 이거 처음 들어봐서... 한번 찾아봤다.

간단하게 말하자면 애플리케이션 실행에 필요한 모든 의존성 및 코드를 하나의 JAR파일로 패키징한 것 이라는 것이다.
이를 통해 단일 JAR파일로 애플리케이션을 실행할 수 있다는것.

Spring boot에서는 기본적으로 Fat JAR를 생성하며 이렇게 생성되는 덕분에 애플리케이션이 쉽게 배포되는 것이었다!!!

대충 정리해 보면

  • Fat JAR
    • 의존성을 포함
    • 실행에 필요한 모든 파일 포함
    • Spring Boot는 기본적으로 Fat JAR 사용
  • Thin HAR
    • 애플리케이션 코드만 포함
    • 의존성은 별도 경로에서 로드
    • 의존성을 별도로 참조하는 Spring이 이와 비슷한 빌드이다.
      • 애플리케이션 -> Thin JAR
      • 의존성 라이브러리 -> WEB-INF 등에서 관리