[Spring] Jar vs War
spring의 초기 설정에 도움을 주는 start.spring.io에서 Jar와 War를 볼 수 있고, 보통은 Jar를 선택해서 개발을 진행한다.
그렇다면 Jar는 무엇이고 또 War는 무엇일까?
1. Jar? War?
- Java를 사용하여 만든 소프트웨어를 배포하기전에 하는 패기징 방식
- 두 개의 packaging 방식 모두 Java의 jar툴을 이용하여 생성된 아카이브(압축) 파일이며 어플리케이션을 쉽게 배포하고 동작시킬 수 있도록 관련 파일(리소스, 속성파일 등)들을 패키징해주는 것이 주 역할이다.
1.1 Jar(Java Archive)
- Class와 같은 설정 파일들을 압축해서 만들어진 하나의 어플리케이션 혹은 라이브러리
- 내장 톰캣(WAS)을 가지고 있음
1.2 War(Web Application Archive)
- JSP나 Servlet 등 WAS 위에서 동작하게끔 빌드된 형태
2. 공통점
- WAS 컨네이너 위에서 동작
3. 차이점
- War 파일을 실행하려면 외부 웹서버나 외부 WAS가 필요 → 외부 WAS를 사용할 예정이라면 War로 패키징을 해야한다.
- 반면 Jar 파일은 압축을 해제하지 않아도 JRE(Java Runtime Environment)만 가지고도 실행이 가능(WAS 내장)
- 하지만 JSP 템플릿은 동작하지 않음
※ 참조
'FRAMEWORK > [SPRING]' 카테고리의 다른 글
[Spring] Spring ArgumentResolver란? (0) | 2022.08.10 |
---|---|
[Spring] 스프링 필터(Filter) vs 인터셉터(Interceptor) (0) | 2022.08.09 |
[Spring] Spring 검증 기능2 (Bean Validation) (0) | 2022.06.09 |
[Spring] Spring 검증 기능1 (BindingResult, Validator) (0) | 2022.06.07 |
[Spring] HttpMessageConverter (0) | 2022.06.06 |