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



출처

The Server Side code day