[JAVA] JAR, WAR, EAR 이란?

이혜지·2021년 1월 8일
0

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 태그 파일과 태그 라이브러리 설명자를 저장하도록 예약돼 있다. 태그 파일과 태그 라이브러리에 대한 내용은 다음에

profile
공유 문화를 지향하는 개발자입니다.

0개의 댓글

관련 채용 정보

Powered by GraphCDN, the GraphQL CDN