📦 EAR란?

정의

EAR(Enterprise Archive)는 여러 개의 Java EE/Jakarta EE 모듈을 하나로 묶어 배포하기 위한 아카이브 형식이다. 보통 EJB, Web, 라이브러리 모듈을 함께 패키징할 때 사용한다.

🧱 EAR의 주요 구성

  • META-INF/application.xml
  • *.jar 모듈
  • *.war 모듈
  • 공용 라이브러리
myapp.ear
├── META-INF/application.xml
├── myapp-ejb.jar
├── myapp-web.war
└── lib/
    ├── shared-library.jar
    └── utility.jar

포인트

EAR은 모듈이 많고 배포 단위를 크게 묶어야 할 때 유용하다. 대신 구조가 복잡해지고 관리 부담이 커질 수 있다.

🔄 EAR와 WAR, JAR 비교

형식 설명 주요 사용처
EAR 여러 모듈을 묶어 배포하는 패키지 엔터프라이즈 Java 애플리케이션
WAR 웹 애플리케이션 배포 패키지 Servlet, JSP, Spring Web
JAR Java 클래스와 리소스를 묶은 패키지 일반 Java 애플리케이션, 라이브러리

✅ EAR을 사용하는 경우

  • 여러 모듈을 한 번에 배포해야 할 때
  • EJB, Web, Shared Library를 함께 운영해야 할 때
  • 대규모 엔터프라이즈 환경에서 모듈 단위를 분리하면서도 배포는 묶고 싶을 때

👍 장점

  • 여러 모듈을 하나의 단위로 배포할 수 있다.
  • 모듈 간 의존성을 일정 수준으로 묶어 관리하기 좋다.
  • 엔터프라이즈 Java 애플리케이션에 적합하다.

👎 단점

  • 구조가 복잡하다.
  • WAR, JAR보다 관리 비용이 높다.
  • 현대적인 Spring Boot 기반 프로젝트에서는 잘 사용하지 않는다.

[!important] 참고 EAR은 전통적인 Java EE 환경에서 의미가 큰 형식이다. 최근에는 단독 WAR, JAR 또는 컨테이너 기반 배포가 더 흔하다.


연결문서

댓글남기기