본문 바로가기
IT 용어정리

[APP] JAR/WAR/EAR의 차이

by sangyeon 2021. 11. 26.
728x90

* J2EE 어플리케이션에서 모듈은 그 기능에 따라 JAR/ WAR/ EAR로 패키징 된다.

> 각 파일이 담고 있는 규모를 따지면 class > jar > war >ear 순이 된다.

 

1. JAR (Java Archive)

: 하나의 어플리케이션 기능이 가능하도록 java 파일을 압축하고 지원한다.

라이브러리, 리소스, properties 파일을 포함한다.

path등의 경로를 유지하기 때문에 배포된 jar 파일을 사용할 때 파일에 대한 path는 신경쓰지 않아도 됨.

 

2. WAR (Web Archive)

: 웹 어플리케이션을 지원하기 위한 압축 방식으로 jsp, servlet, gif, html, jar 등을 지원한다.

war는 단독으로 실행이 안되고 반드시 WAS 컨테이너에 의해 실행되어야 하므로 배포 스크립터가 존재한다. (web.xml)

 

3. EAR (Enterprise Archive)

: 하나의 웹 어플리케이션 단위를 넘어 비지니스 단위를 처리하는 JAR와 웹 어플리케이션을 처리하는 WAR를 포괄적으로 지원한다.

jar와 war를 묶어서 각각의 기능을 지원한다. ( jar는 어플리케이션 레벨 - business level, war는 웹 어플리케이션 레벨 - web level 을 지원하도록)

 

* 참고로 톰캣이나 Jetty 같은 Standalone 웹 컨테이너는 EE가 아니기 때문에 EAR 파일을 지원하지 않는다. 그래서 war로 배포해야 한다.

 

 

 

 

 

728x90

'IT 용어정리' 카테고리의 다른 글

[용어정리] DevOps란?  (0) 2021.12.06
[미들웨어] 3-Tier와 N-Tier 정리  (0) 2021.08.23
[용어정리] TPS와 Working Thread 산정 방법  (0) 2021.08.04