반응형
패키징이란? (Pakaging)
- 배포 및 배포를 위한 자바 응용 프로그램, 라이브러리 및 리소스의 배포 가능한 패키지를 만드는 프로세스
- 애플리케이션을 실행하는데 필요한 모든 파일과 리소스를 포함하는 구조화된 아카이브를 만드는 것 포함
- 자바에서 가장 일반적인 유형의 패키징은 JAR와 WAR 존재
- JAR : 자바 라이브러리와 독립형 응용 프로그램 패키징
- WAR : 자바 기술로 빌드된 웹 응용 프로그램 패키징
Jar (Java Archive)
- 자바 라이브러리와 애플리케이션을 패키지화하고 배포하는데 사용
- 컴파일된 자바 클래스와 라이브러리, 메타데이터 및 이미지, 사운드, 텍스트 파일과 같은 리소스
- 독립형 자바 응용 프로그램뿐만 아니라 다른 자바 프로그램에서 사용할 수 있는 라이브러리 파일에도 사용
War (Web Archive)
- 서블릿, 자바 서버 페이지(JSP), 자바빈스와 같은 자바 기술을 사용하여 구축된 웹 애플리케이션을 패키징하고 배포하는데 사용
- 컴파일된 자바 클래스와 라이브러리, HTML, JSP 및 기타 웹 관련 파일 포함하여 웹 응용 프로그램을 배포하는데 필요한 모든 리소스
- 아파치 톰캣(Apache Tomcat)이나 제이보스(Jboss), 제티(Jetty)와 같은 웹 서버에 사용
Jar VS War
Jar | War | |
패키징 | 자바 라이브러리, 애플리케이션 | 자바로 구축된 웹 애플리케이션 패키징 (서블릿, JSP, 자바빈스) |
구성 | 자바 클래스, 라이브러리, 메타데이터 및 이미지, 사운드, 텍스트 파일 같은 리소스 | 자바 클래스, 라이브러리, HTML, JSP 및 기타 웹 관련 배포에 필요한 모든 리소스 |
사용 | 독립형 자바 응용 프로그램, 자바 프로그램에서 사용할 수 있는 라이브러리 파일 |
웹 서버에 사용 |
스프링 부트에서의 Jar VS War
Jar | War | |
설계 | 독립형 자바 응용 프로그램이 실행되도록 설계 | 자바 웹 서버에 배포하도록 설계 |
구성 | 응용 프로그램을 실행하는데 필요한 모든 종속성을 포함, 내장된 웹 서버 포함 |
응용 프로그램 코드와 리소스가 포함, 웹 서버는 포함되지 않음 |
패키징 | Thymeleaf 템플릿 | HTML, Servlet, JSP |
웹 서버 (WAS) | 내장 WAS (스프링 부트 자체 서버 사용) | 외장 WAS (아파치 톰캣 등 사용) |
쓰임새 | 별도의 웹 서버나 다른 소프트웨어 없이도 자바가 설치된 모든 시스템에서 실행 | 웹 서버 기능을 제공하는 톰캣과 같은 자바 웹 서버에 배포 |
반응형