일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 도커
- docker mysql
- 티스토리 광고 수익
- Python 기본편
- 젠킨스
- apache log4j
- python 기초
- gradle
- python
- Vue
- Spring Batch 강의
- docker 명령어
- docker
- scrapy
- spring boot 시작
- 애드센스 수익
- IntelliJ
- spring Annotation
- Spring Batch
- JDK1.3
- AES256
- Vue 알아보기
- Vue 배우기
- Spring
- Vue 강의
- MYSQL
- 구글 애드센스 수익
- intelliJ plugin
- 미국 배당주
- 미국주식
나만의공간
번외 : Spring Boot War파일 생성, 로컬 Tomcat 뛰우기 본문
연재순서
1. Spring Boot Project Initializr (스프링 부트 프로젝트 생성법)
2. Spring Boot Project Initializr (RestFul API 연결)
3. Spring Boot Project Initialzr (Swagger 연결)
4. Spring Boot Project Initializr (Log4j 연결)
5. Spring Boot Project Initializr (Requet Get/Post 출력)
6. 번외 : Spring Boot War 파일 생성, 로컬 Tomcat 뛰우기
7. Srping Boot Project Initializr (GitHub 위치)
지금까지 Spring Main을 실행하는 방식으로 Spring Boot를 실행 시켜 왔습니다.
이번 연재에서는 War파일을 생성하여, 별도 설치된 Tomcat을 이용하여 Spring Boot 실행하는 방법을 이야기 하겠습니다.
먼저 Tomcat은 9.0 이상 버전으로 아래 사이트에서 OS환경에 맞는 Tomcat을 다운로드 받아 설치 하시기 바랍니다.
아파치톰켓 다운로드 : https://tomcat.apache.org/
Gradle 빌드 war 설정 추가
변경된 build.gradle 정보 (아래는 변경된 build.gradle 정보)
id 'war' 추가
war 정보 추가
plugins {
// id 'org.springframework.boot' version '2.6.2'
id 'org.springframework.boot' version '2.5.2'
id 'io.spring.dependency-management' version '1.0.11.RELEASE'
id 'java'
id 'war'
}
group = 'com.study'
version = '0.0.1-SNAPSHOT'
sourceCompatibility = '11'
configurations {
compileOnly {
extendsFrom annotationProcessor
}
}
war {
enabled = true
webInf { // webInf에 processeResources의 결과 디렉토리를 포함하도록 추가
with {
from("${buildDir}/resources/main")
}
}
}
repositories {
mavenCentral()
}
dependencies {
implementation 'org.springframework.boot:spring-boot-starter-web'
compileOnly 'org.projectlombok:lombok'
annotationProcessor 'org.projectlombok:lombok'
testImplementation 'org.springframework.boot:spring-boot-starter-test'
implementation group: 'io.springfox', name: 'springfox-swagger2', version: '2.9.2'
implementation group: 'io.springfox', name: 'springfox-swagger-ui', version: '2.9.2'
}
test {
useJUnitPlatform()
}
생성된 war 파일 확인
Intellij -> File -> Project Structure -> Artifacts 선택
아래와 같이 war파일이 생성된 것이 보입니다.
Local 톰켓 세팅
오른쪽 상단에 있는 서버실행 셀렉트박스에서 Edit Configuration 선택
+ 선택해서 Tomcat Server -> Local 선택
Local을 선택 후 Deployment 탭을 선택
아래 + 클릭하여 Artifact를 선택
생성된 War파일중 아래에 선택된 War파일을 선택
선택 완료된 화면
Application Context에 있는 문자들 삭제하고서 "/" 루트 표시만 남기고 OK버튼 클릭
설정 완료 후 local 톰켓을 실행할떄 아래와 같은 오류가 발생하면 war파일 참조 위치를 변경해 주어야 합니다.
오류 내용
[2022-01-04 09:50:33,467] Artifact Gradle : com.study : studyTwo-0.0.1-SNAPSHOT.war (exploded): Artifact is being deployed, please wait...
[2022-01-04 09:50:33,476] Artifact Gradle : com.study : studyTwo-0.0.1-SNAPSHOT.war (exploded): Error during artifact deployment. See server log for details.
[2022-01-04 09:50:33,476] Artifact Gradle : com.study : studyTwo-0.0.1-SNAPSHOT.war (exploded): com.intellij.javaee.oss.admin.jmx.JmxAdminException: com.intellij.execution.ExecutionException: /Users/songyjun/personalproject/studyTwo/build/libs/exploded/studyTwo-0.0.1-SNAPSHOT.war not found for the web module.
Intellij 설정 변경
Build and run using : Intellij IDEA로 변경
Run tests using : Intellij IDEA로 변경
위와 같이 설정 완료 후에도 로컬 War파일로 Spring boot 화면이 안올라 오면 main메소드가 있는 클래스 "StudyTwoApplication" 클래스 파일에 SpringBootServletInitializer를 상속 받게 수정 한다.
package com.study.studyTwo;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.web.servlet.support.SpringBootServletInitializer;
@SpringBootApplication
public class StudyTwoApplication extends SpringBootServletInitializer {
public static void main(String[] args) {
SpringApplication.run(StudyTwoApplication.class, args);
}
}
War파일로 로컬 톰켓 실행후 브라우져 접속시화면
아래 이미지 처럼 localhost:8080접속시 swagger화면이 잘 나오면 정상적 설정이 완료되었습니다.
오늘도 수고 하셨습니다.
'IT > Spring' 카테고리의 다른 글
Spring Boot Template Engine 연결 (Pebble Template) (0) | 2022.01.20 |
---|---|
Spring Boot Project Initializr (GitHub 위치) (0) | 2022.01.14 |
Spring Boot Project Initializr (Request Get/POST 출력) #5 (0) | 2022.01.06 |
Spring Boot Project Initializr (log4j 연결) #4 (0) | 2022.01.05 |
Spring Boot Project Initializr (Swagger 연결) #3 (2) | 2022.01.03 |