본문 바로가기

JAVA

[JAVA] JAR와 WAR의 차이점

JAR, WAR?
자바 클래스 패키징 확장자로 리소스, 속성파일 등의 파일이 압축되어있다.
JAR와 WAR는 Java의 jar를 이용해 생성된 압축(아카이브) 파일로 프로젝트를 압축하여 배포하고 동작시킬 때 사용된다. 

각자 특징과 어느 상황에 배포를 하는지 자세히 알아보자 `ㅅ'! 

JAR(Java Archive)
확장자 명 .jar
- class와 같은 java 리소스와 속성 파일, 라이브러리 파일을 포함하여 압축된 하나의 애플리케이션이다.
- jar파일은 JVM 플랫폼에 귀속되는 점만 제외하면 윈도우 ZIP파일과 거의 동일한 구조이다. 
- JDK에 포함하고 있는 JRE만 가지고도 실행이 가능하다.
- 원하는 구조로 구성이 가능하다.

그럼 어느 상황에 JAR를 사용할까?
-> 클라우드 환경에서 보통 사용된다.

WAR(Web Application Archive)
확장자 명 .war
- JSP, Servlet 등 WAS 컨테이너 위에서 배치할 수 있는 웹 애플리케이션 압축 파일 포멧이다.(웹 애플리케이션 전용 패키징)
- 파일을 실행하려면 Tomcat, Weblogic, Websphere 등의 웹 서버(WEB) 또는 웹 컨테이너(WAS)가 필요하다.  
- WAR 파일도 JAR의 일종이다. (EAR>JAR>WAR)

그럼 어느 상황에 WAR를 사용할까?
-> 웹 관련 자원을 포함한 프로젝트를 배포할 때 특화되어있다.

 

 

+ 이클립스에서 프로젝트 war 파일로 배포하는 방법
https://javapotato.tistory.com/9