[Java] .jar 와 .war 차이점 및 장단점 비교 해보기

2022-12-10


Photo by Birger Strahl on Unsplash


1. 정의

 

jar

자바 파일들을 모아서 만든 하나의 zip 파일이라고 볼 수 있으며, 쉽게 말해 자바로 만든 프로젝트를 패키징 한 압축파일이라고 생각할 수도 있습니다. 또한 이로 인해서 자바 형태의 프로젝트를 손쉽게 배포할 수 있는 장점이 있습니다. jar 파일은 META-INF/MANIFEST.MF 경로에 위치한 매니페스트 파일을 선택적으로 포함할 수 있으며, 매니페스트 파일 안에는, 어떻게 jar 파일을 이용할지를 기술한 엔트리 정보가 적혀있습니다. 이를테면 클래스 패스(자바) 엔트리를 사용하면 해당 jar 파일과 함께 로드할 다른 JAR 파일들을 지정할 수 있고, java.util.zip 패키지는 jar 파일을 읽고 쓰는 클래스들을 포함하고 있습니다.

 

war

WAR 파일(Web Application Resource 또는 Web application ARchive)은 JAR 파일, JavaServer Pages, Java Servlet, Java 클래스, XML 파일, 태그 라이브러리, 정적 웹 페이지(HTML) 모음을 배포하는 데 사용되는 파일입니다. jar 형식의 파일과 같은 형식의 디지털 서명을 사용할 수 있습니다. 손쉽게 웹어플리케이션을 테스트할 수 있으며, 모든 자바 EE 컨테이너가 war 형식의 파일을 지원합니다.


2. 차이점

 

 

 

jar

jar 파일에는 속성 파일과 같은 라이브러리, 리소스 및 액세서리 파일이 포함되어 있습니다.

 

 

war

war 파일에는 모든 servlet/jsp 컨테이너에 배포할 수 있는 웹 애플리케이션이 포함되어 있습니다.  .war 파일에는 웹 애플리케이션 개발에 필요한 jsp, html, javascript 및 기타 파일이 포함되어 있습니다.


- 참고 자료

 

https://docs.oracle.com/javase/8/docs/technotes/guides/jar/jarGuide.html

 

JAR File Overview

JAR File Overview What is JAR? JAR stands for Java ARchive. It's a file format based on the popular ZIP file format and is used for aggregating many files into one. Although JAR can be used as a general archiving tool, the primary motivation for its develo

docs.oracle.com

https://ko.wikipedia.org/wiki/JAR_(% ED% 8C% 8C% EC% 9D% BC_%ED% 8F% AC% EB% A7% B7) 

 

JAR (파일 포맷) - 위키백과, 우리 모두의 백과사전

위키백과, 우리 모두의 백과사전. JAR(Java Archive, 자바 아카이브)는 여러개의 자바 클래스 파일과, 클래스들이 이용하는 관련 리소스(텍스트, 그림 등) 및 메타데이터를 하나의 파일로 모아서 자바

ko.wikipedia.org

https://en.wikipedia.org/wiki/WAR_(file_format) 

 

WAR (file format) - Wikipedia

In software engineering, a WAR file (Web Application Resource[1] or Web application ARchive[2]) is a file used to distribute a collection of JAR-files, JavaServer Pages, Java Servlets, Java classes, XML files, tag libraries, static web pages (HTML and rela

en.wikipedia.org

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

 

Difference between jar and war in Java

What is the difference between a .jar and a .war file? Is it only the file extension or is there something more?

stackoverflow.com


메인 이미지 출처 : Photo by Birger Strahl on Unsplash