1. Jar(Java ARchive)파일
- 정의: JAR 파일은 여러 개의 Java 클래스 파일, 메타 데이터, 리소스 파일 등을 하나의 파일로 묶은 아카이브 파일
- 목적: Java 클래스와 관련 리소스를 패키징하여 재사용 가능한 라이브러리나 실행 가능한 애플리케이션을 생성
- 사용처: Java 라이브러리, 스탠드얼론 Java 애플리케이션, 의존성 패키지 등
- 확장자: .jar
2. WAR (Web Application aRchive) 파일
- 정의: WAR 파일은 웹 애플리케이션을 패키징하기 위한 파일 포맷이다. Java 클래스, JSP, 서블릿, XML, 라이브러리, 정적 웹 리소스 (예: HTML, CSS, JavaScript) 등 웹 애플리케이션 구성 요소를 포함한다.
- 목적: 웹 애플리케이션을 하나의 단위로 패키징하고 배포하기 위한 목적으로 사용.
- 사용처: Java 기반의 웹 애플리케이션 서버나 서블릿 컨테이너 (예: Tomcat, JBoss, WebLogic 등)에서 실행되는 웹 애플리케이션에 사용.
- 확장자: .war
3. 차이점:
- 목적: JAR는 일반적인 Java 애플리케이션 또는 라이브러리를 위한 패키징 포맷이며, WAR는 웹 애플리케이션을 위한 패키징 포맷.
- 내용: WAR 파일은 JAR 파일의 모든 내용뿐만 아니라, JSP, 웹 리소스, 웹 설정 파일 등 웹 애플리케이션과 관련된 추가적인 컴포넌트를 포함한다.
- 사용처: JAR 파일은 Java 애플리케이션 및 라이브러리의 패키징 및 배포에 사용되며, WAR 파일은 웹 애플리케이션 서버나 서블릿 컨테이너에서 실행되는 웹 애플리케이션의 패키징 및 배포에 사용된다.
- 원하는 구성을 할 수 있는 JAR 포맷과 달리 WAR은 WEB-INF 및 META-INF 디렉토리로 사전 정의 된 구조를 사용하며 WAR파일을 실행하려면 Tomcat, Weblogic, Websphere 등의 웹 서버 (WEB)또는 웹 컨테이너(WAS)가 필요하다.
- WAR 파일도 JAVA의 JAR 옵션( java - jar)을 이용해 생성하는 JAR파일의 일종으로 웹어플리케이션 전체를 패키징하기 위한 JAR파일로 생각하시면 된다.
- 요약하면, JAR와 WAR는 Java의 다양한 애플리케이션 및 컴포넌트를 패키징하기 위한 포맷이며, 사용 목적과 포함하는 내용에 따라 차이가 있다.
'Java' 카테고리의 다른 글
[Java] 문자열을 배열로 변환하기 (1) | 2024.07.04 |
---|