JAR / WAR / EAR
- Application 소스 배포시, path 등의 설정에서의 에로점을 제거하기 위해 탄생한 압축 방식
- 압축의 해제 없이 JDK에서 각 파일들을 접근하여 사용할 수 있도록 설계되어있음
- 파일 규모 : EAR > WAR > JAR > CLASS
- 만드는 법 : 모두 표준 압축 알고리즘을 사용하므로 모든 표준 압축 도구를 사용하여 만 들 수 있음
- CL workflow의 일부로
JAR
- Java Archive
- 하나의 Application 기능이 가능하도록 java 파일을 압축하고 지원
- 엔터프라이즈 Java Bean(클래스 파일)과 EJB 전개 디스크립터를 포함한 EJB 모듈은 .jar 확장을 사용하여 JAR 파일로 압축
- 실행 조건 : JAVA 설치
- EX) RJ.jar
WAR
- WEB Archive
- Web Application을 지원하기 위한 압축 방식
- 서블릿 클래스 파일, jsp 파일, 지원 파일, gif 및 html 파일을 포함하는 웹 모듈은 확장자가 .war(웹 아카이브)인 JAR파일로 패키지
- jsp, servlet, gir, html, jar 등을 지원함
- 단독으로 실행은 불가하며 서버 컨테이너(was)에 의해 실행되어야 하므로 배포 디스크립터(web.xml)가 담겨있음.
- 실행 조건 : Java EE Web Profile 호환 응용 프로그램 서버 필요
- 내부 조건 : WEB-INF 폴더에 포함된 web.xml 파일 필요
JAR 파일과 달리 애플리케이션 루트와 상대적인 위치에 저장되지 않고 /WEB-INF/classes에 저장된다. WEB-INF 디렉터리에는 자바 EE 웹 애플리케이션 서버가 애플리케이션을 비표 및 실행하는 방법을 결정하는 데 사용할 정보 및 명령 파일을 저장하며, classes 하위 디렉터리는 패키지 루트 역할을 한다. 컴파일된 애플리케이션 클래스 파일과 다른 자원은 모두 이 디렉터리에 저장된다.
표준 JAR 파일과 달리 WAR 파일은 번들 JAR 파일을 /WEB-INF/lib 에 포함할 수 있다. 이 디렉터리에 있는 jar 파일의 모든 클래스는 애플리케이션의 클래스패스에 있는 애플리케이션에서도 사용할 수 있다. /WEB-INF/tags 및 /WEB-INF/tld 디렉터리는 각각 JSP 태그 파일과 태그 라이브러리 설명자를 저장하도록 예약돼 있다. 태그 파일과 태그 라이브러리에 대한 내용은 다음에