[Java] war와 jar란 무엇인가
by Choi HyeSun
jar/war/ear
-
Application 소스 배포시, path 등의 설정에서의 에로점을 제거하기 위해 탄생한 압축 방식
- 압축의 해제 없이 JDK에서 각 파일들을 접근하여 사용할 수 있도록 설계되어 있음
-
파일 규모 : ear > war > jar > class
-
만드는 법 : 모두 표준 압축 알고리즘을 사용하므로 모든 표준 압축 도구를 사용하여 만들 수 있음
-
CI workflow의 일부로 ear, jar, war 파일로 응용 프로글매을 자동으로 패키지화하는 많은 DevOps 도구들이 있음
- 예) Jenkins + Ant/Maven/Gradle
jar
-
Java ARchive
-
하나의 Application 기능이 가능하도록 java 파일을 압축하고 지원
- 엔터프라이즈 Java Bean(클래스 파일)과 EJB 전개 디스크립터를 포함한 EJB 모듈은 .jar 확장을 사용하여 JAR 파일로 압축
-
실행 조건 : Java 설치
-
예) sunny.jar
war
-
Web ARchive
-
Web Application을 지원하기 위한 압축 방식
- 서블릿 클래스 파일, JSP 파일, 지원 파일, GIF 및 HTML 파일을 포함하는 웹 모듈은 확장자가 .war (웹 아카이브)인 JAR 파일로 패키지
-
jsp, servlet, gif, html, jar 등을 지원함
-
단독으로 실행은 불가하며 서버 컨테이너(was)에 의해 실행되어야 하므로 배포디스크립터(web.xml)가 담겨있음
-
실행 조건 : Java EE Web Profile 호환 응용 프로그램 서버 필요
-
내부 조건 : WEB-INF 폴더에 포함된 web.xml 파일 필요
-
예) sunny.war
출처
Subscribe via RSS