Java 애플리케이션이 배포되면 Java 앱을 구성하는 모든 파일이 압축되어 단일 파일로 패키지 되는데, JAVA에서 모듈은 기능에 따라 JAR, WAR, EAR로 패키지된다.
1. JAR (Java Archive)
- 하나의 애플리케이션 기능이 가능하도록 Java 파일을 압축하고 지원한다.
- 엔터프라이즈 Java Bean(클래스 파일)과 EJB 전개 디스크립터를 포함한 EJB 모듈은 .jar 확장을 사용하여 JAR 파일로 압축
- JDK에 포함되어 있는 JRE만으로도 실행이 가능하다.
- 내장 서버 사용에 최적화되어 있다.
- 실행 조건 : JAVA 설치
2. WAR (Web Application Archive)
- Web Application을 지원하기 위한 압축 방식이다.
- 서블릿 클래스 파일, jsp 파일, 지원 파일, gif 및 html 파일을 포함하는 웹 모듈은 확장자가 .war인 JAR파일로 패키지
- jsp, servlet, gir, html, jar 등 지원
- 단독으로 실행은 불가하며 서버 컨테이너(WAS)에 의해 실행되어야 하므로 배포 디스크립터(web.xml)가 담겨있다.
- 실행 조건 : Java EE Web Profile 호환 응용 프로그램 서버만 필요
- 내부 제한 사항 : WEB-INF 폴더에 포함된 web.xml 파일 필요
3. EAR (Enterprise Archive)
- Java EE(Enterprise Edition)에 쓰이는 파일 형식이다.
- 한 개 이상의 모듈을 단일 아카이브로 패키징하여 애플리케이션 서버에 동시에 일괄적으로 올리기 위하여 사용된다.
- 내부 제한 사항 : META-INF 폴더에 포함된 application.xml 파일 필요
파일 규모