본문 바로가기
Backend/Spring

[Spring] JAR & WAR

by unknownomad 2025. 2. 11.

https://stackoverflow.com/questions/5871053/difference-between-jar-and-war-in-java

 

JAR와 WAR 공통점

  • JAR와 WAR 모두 Java의 jar 명령어로 생성된 압축 파일
  • 애플리케이션 관련 파일(리소스, 속성 파일 등)을 패키징하여 배포와 실행 용이

 

JAR (Java ARchive)

  • 목적: Java 애플리케이션 실행용 압축 파일
  • 내용: Java 클래스 파일, 라이브러리, 리소스 파일
  • 요구사항: JRE만 있으면 실행 가능 (java -jar 프로젝트명.jar)
  • 특징
    - 독립 실행형 애플리케이션
    - 내장 서버 포함 가능
    - 부트에서 가이드하는 표준은 JAR(JSP, 외장톰켓 사용하지 않음)

 

WAR (Web Application ARchive)

  • 목적: 웹 애플리케이션 배포용 압축 파일
  • 내용: JSP, Servlet, JAR, 클래스 파일, XML, HTML, JavaScript 등
  • 요구사항: 웹 서버(WEB) 또는 웹 애플리케이션 서버(WAS) 필요
  • 특징: 사전 정의된 구조(WEB-INF, META-INF) 사용

 

JAR vs WAR

특성 JAR (Java ARchive) WAR (Web Application ARchive)
목적 Java 애플리케이션 배포 웹 애플리케이션 배포
내용 Java 클래스 파일, 라이브러리, 리소스 파일 등 JSP, Servlet, JAR, 클래스 파일, XML, HTML, JavaScript 등
요구사항 JRE만 있으면 실행 가능 웹 서버(WEB) 또는 웹 애플리케이션 서버(WAS) 필요
구조 자유롭게 구성 사전 정의된 구조 (WEB-INF, META-INF) 사용
설정 용이성 간단한 설정, 빠른 실행 가능 복잡한 설정, 서버와의 통합 필요
장점 간편한 배포, 서버 설정 불필요, 경량화 서버 통합 용이, 확장성 제공, 기존 시스템과 호환성 유지
단점 확장성 부족, 서버 제어 불가 서버 설정 및 관리 필요, 배포 과정 번거로움

 

댓글