반응형
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 | 29 |
30 | 31 |
Tags
- java
- 스프링 빈
- 필드 주입
- sqld
- DIP
- mybatis
- SQL
- 싱글톤
- 스프링 부트 입문
- 스프링 부트 기본
- Effective Java
- db
- @Configuration
- assertThrows
- Javascript
- spring
- 생성자 주입
- 스프링 부트
- DI
- thymeleaf
- kafka
- 스프링 컨테이너
- springboot
- JPA
- resultMap
- assertThat
- 스프링 프레임워크
- jdbc
- 스프링
- 스프링부트
Archives
- Today
- Total
선 조치 후 분석
JAR vs WAR , 개념과 차이점은? 본문
728x90
반응형
SMALL
JAR(Java ARchive)와 WAR(Web ARchive)는 둘 다 Java 프로젝트를 패키징하고 배포하는 데 사용되는 파일형식이다.
그러나 각각의 파일 형식은 다른 종류의 애플리케이션을 위해 최적화되어 있으며, 특정한 용도에 따라 사용된다.
JAR (Java ARchive)
- JAR 파일은 Java 클래스 파일, 리소스, 라이브러리 등을 하나의 아카이브로 패키징 하는 데 사용된다.
- 주로 자바 라이브러리와 모듈을 패키징하여 배포하고 다른 프로젝트에서 재사용하는데 유용하다.
- JAR 파일은 클래스와 리소스를 압축하고, 메타정보와 매니페스트 파일을 포함한다.
- 실행가능한 JAR 파일은 메인 클래스를 가지고 있어 명령줄에서 실행할 수 있다.
- JAR 파일은 Java 애플리케이션을 실행하는 데 주로 사용된다.
+ JAR에서는 JSP를 사용할 수 없다. SpringBoot는 JSP를 지양한다. 그래서 Sring Initializer에서도 Jar가 기본값이다.
WAR (Web ARchive)
- WAR 파일은 웹 애플리케이션을 패키징하여 배포하는 데 사용된다.
- 웹 애플리케이션은 HTML, JSP, 서블릿, 클래스, 라이브러리 등 여러 요소로 구성된다.
- WAR 파일은 웹 애플리케이션의 구조를 유지하면서 압축된 형식으로 패키징 된다.
- 주로 Java EE(Java Platform, Enterprise Edition)에서 제공되는 웹 애플리케이션을 배포하는 데 사용.
- WAR 파일은 웹 애플리케이션 서버에서 실행되며, 해당 서버가 웹 애플리케이션을 호스팅 하고 관리한다.
+ 별도의 웹 서버 또는 WAS 가 필요하다.
차이점
- JAR는 주로 라이브러리와 모듈을 패키징하고 재사용하기 위해 사용되며,
WAR는 웹 애플리케이션을 패키징하고 배포하기 위해 사용 - JAR 파일은 실행 가능한 클래스를 포함할 수 있지만,
WAR 파일은 웹 컨테이너에서 실행되는 웹 애플리케이션을 포함한다. - JAR 파일은 메타정보를 포함할 수 있지만,
WAR 파일은 웹 애플리케이션의 설정과 리소스를 포함하는 디렉터리 구조를 유지한다.
기본적으로 JAR, WAR 모두 Java의 -Jar 옵션을 이용해 생성된 압축(아카이브) 파일이다.
일반적으로, JAR는 라이브러리나 모듈을 공유하고 재사용하기 위해 사용되며,
WAR는 웹 애플리케이션을 배포하고 실행하기 위해 사용된다.
꼭 Jsp를 사용하지 않아도 되고, 외장 WAS를 이용할 계획이 있는 게 아니라면 War만 고집할 필요는 없고
상황에 맞게 JAR or WAR를 사용하면 될 거 같다.
JAR는 클라우드 환경에서 WAR는 웹 애플리케이션 전용 패키지에서 보통 사용한다.
728x90
반응형
LIST
'Language > Java' 카테고리의 다른 글
POJO vs EJB 차이점은? (0) | 2023.08.25 |
---|---|
Java에서 참조타입 변수를 초기화 하는 방법 (0) | 2023.08.23 |
[Java] 기본형과 참조형 그리고 Wrapper 클래스 (0) | 2023.08.21 |
Mapper로 파라미터 전달하는 방법의 장단점(DTO,@Param,Map) (0) | 2023.08.21 |
[Java Error] java.lang.UnsupportedOperationException (0) | 2023.06.20 |