1. 시험환경
˙ SpringBoot
˙ Gradle
2. 목적
˙ Spring Project 빌드시 JAR 또는 WAR Build의 차이점에 대하여 알아보자.
3. 적용
① JAR(Java Archive)
- 여러개의 자바 클래스 파일과, 클래스들이 이용하는 관련 리소스(텍스트, 그림 등) 및 메타데이터를 하나의 파일로 모아서
자바 플랫폼에 응용 소프트웨어나 라이브러리를 배포하기 위한 소프트웨어 패키지 파일 포맷이다.
- JRE(JAVA Runtime Environment)만 있어도 실행 가능하다.
- 패키지 실행 방법 : java -jar package.jar
- 참고 : https://ko.wikipedia.org/wiki/JAR_(%ED%8C%8C%EC%9D%BC_%ED%8F%AC%EB%A7%B7)
② WAR (Web Application Archive)
- 웹 애플리케이션을 구성하는 자바 클래스와 웹 관련 자원(JSP, Servlet, JAR, Class, XML, HTML, Javascript)을 포함하는
파일 등을 묶은 압축 파일 포맷이다.
- 별도의 Web Server 또는 WAS(Tomcat)가 필요하다.
- 패키지 실행 방법 1 (외부 Tomcat 사용) : apache-tomcat-버전/webapps/package.war 위치에 파일 복사 후 Tomcat 실행
- 패키지 실행 방법 2 (내장 Tomcat 사용) : java -jar package.war
③ Build Package "war" 설정
- build.gradle 파일
1
2
3
4
5
|
apply plugin: 'war'
dependencies {
providedRuntime 'org.springframework.boot:spring-boot-starter-tomcat'
}
|
cs |
④ 클린 및 빌드
- $./gradlew clean build
4. 결과
˙ RestAPI와 같이 Web Page(JSP)가 포함되지 않은 Spring 프로젝트는 jar로 빌드한다.
˙ Web Page(JSP)가 포함된 spring 프로젝트는 war로 빌드한다.
- 만약, jsp 파일 등이 포함된 프로젝트를 jar 빌드 후 페이지 요청하면, 404 에러가 발생하고 Web Page가 열리지 않는다.
'스프링 프레임워크' 카테고리의 다른 글
spring project(스프링 프로젝트) gradle(그래들) war 빌드 (0) | 2024.01.06 |
---|---|
spring project(스프링 프로젝트) gradle(그래들) jar 빌드 (0) | 2024.01.06 |
SpringBoot에서 jsp(view) 사용을 위한 의존성 추가 및 설정 방법 (1) | 2024.01.06 |
spring initializr를 이용한 springboot 프로젝트 생성 (0) | 2024.01.06 |
Spring Boot 프로파일(profile)별 설정 적용(yaml 파일) (0) | 2023.07.28 |