-
JAR 과 WAR 의 개념과 차이점기타 2024. 8. 27. 20:32
JAR 이란?
- JAR(Java ARchive) 파일은 Java 애플리케이션을 배포하기위한 압축된 파일
- 여러개의 클래스 파일, 메타데이터, 리소스(이미지, 텍스트 등)를 하나의 파일로 묶어줌
- 주로 독립 실행형 (Java SE) 애플리케이션이 사용됨
- 실행 가능한 JAR 파일은 'Main-Class' 가 지정된 'META-INF/MANIFEST.MF' 파일을 포함
* 사용 예시 *
- 간단한 콘솔 기반 Java 애플리케이션
- 독립적인 Java 도구 또는 라이브러리
WAR 이란?
- WAR(Web Application Archive) 파일은 Java 웹 애플리케이션을 배포하기 위한 압축된 파일
- 웹 애플리케이션의 모든 컴포넌트(서블릿, JSP 파일, HTML 파일, Java 클래스 등)를 포함
- 웹 서버 또는 애플리케이션 서버에서 실행되며, 서버의 컨테이너가 이를 관리
- 디렉토리 구조가 정해져 있어야 하며, 'WEB_INF' 폴더에 설정 파일(web.xml)과 클래스 파일이 위치
* 사용 예시 *
- Java 웹 애플리케이션 ( EX. spring MVC, JSP 기반 애플리케이션)
- 엔터프라이즈 포털 시스템
JAR 과 WAR 의 차이점
구분 JAR WAR 용도 독립 실행형 Java 애플리케이션 Java 웹 애플리케이션 파일 구조 자유롭게 구성 가능 정해진 디렉토리 구조 (WEB-INF 등) 실행 환경 Java Virtual Machine(JVM) 웹 서버 또는 애플리케이션 서버 실행 파일 가능(Main-Class 포함 시) 불가능(서버가 파일을 배포하고 실행) 확장자 .jar .war 요약 및 정리
- JAR 은 주로 독립적인 Java 애플리케이션을 위해 사용되며,
WAR 은 Java 웹 애플리케이션을 배포하기 위해 사용됨
- 두 파일 형식은 각각의 목적과 구조에 따라 다르게 설계되었음
- 사용 시점과 환경에 맞는 파일 형식을 선택해야함