1. JAR & WAR
JAR와 WAR는 Java의 jar 옵션을 이용해 생성된 *압축 파일로
애플리케이션을 쉽게 배포하고 동작시킬 수 있도록 관련 파일들을 패키징 한 것을 말한다.
* 여러 개의 파일을 하나로 모아 압축한 것을 아카이브(Archive)라고 한다.
* 압축을 통해 용량을 줄일 수 있기 때문에 데이터를 교환하기에 편리하다.
JAR ( Java Archive )
Java 애플리케이션이 동작할 수 있도록 Java 프로젝트를 압축한 파일이다.
.zip 파일과 유사하지만 .jar 파일은 압축을 따로 해제하지 않아도 JDK에서 접근해서 사용할 수 있도록 지원하는 편리함 때문에 사용한다.
class, Java resources, properties, library 파일을 포함한다.
원하는 구조로 구성이 가능하다.
JDK(Java Development Kit)가 포함하고 있는 JRE(Java Runtime Environment)만 있어도 실행이 가능하다.
WAR ( Web Application Archive )
servlet / JSP 컨테이너에 배치할 수 있는 웹 애플리케이션을 압축한 파일이다.
배포 서술자라고 불리는 web.xml 파일을 통해 따로 path 설정을 해야 WAS가 읽고 실행할 수 있다.
JSP, Servlet, JAR, class, XML, HTML, Javascript와 같은 웹 관련 자원만 포함한다.
원하는 구성을 할 수 있는 JAR와 달리 WAR는 *WEB-INF 및 *META-INF 디렉터리와 같은 사전에 정의된 구조를 사용한다.
WAR 파일을 실행하려면 Tomcat, Weblogic, Websphere 등의 별도의 웹 서버 또는 웹 컨테이너가 필요하다.
* WEB-INF는 Web Information의 약자로 중요한 파일들이 노출되지 않도록 만든 폴더이다.
* META-INF는 JAR의 일부분으로, 설정 관련 파일을 저장하는 폴더이다. 사용 설명서와 비슷한 개념이라고 보면 된다.
2. Spring Boot를 사용한다면 JAR를
JSP를 멀리하며 내장 서버를 사용하는 Spring Boot에서 가이드하는 표준은 JAR이다.
외부 WAS를 이용하여 애플리케이션을 구동해야 하는 경우가 아니라면 JAR를 사용하는 것을 권장한다.
reference johye0's tistory
'Dev > Java' 카테고리의 다른 글
| 자바 형 변환 관련 함수들 (0) | 2022.11.13 |
|---|---|
| JSP 내장 객체 (Implicit Object) 알아보기 (0) | 2022.08.03 |
| JSP 기본 구조 - 지시어, 스크립트 요소 (0) | 2022.08.02 |
| JDBC 프로그래밍을 해보자 (2) (0) | 2022.07.27 |
| JDBC 프로그래밍을 해보자 (1) (0) | 2022.07.27 |
댓글