Java Visual Studio Code - Springboot를 Gradle 빌드로 war 만드는 방법.
페이지 정보
본문
안녕하세요. 엔지엠소프트웨어입니다. 비주얼 스튜디오 코드(VSCode)에서 스프링부트로 Backend를 개발하고 있는데요. Maven이 아닌 Gradle을 이용해서 프로젝트를 빌드(Build)하고 있습니다. 처음에 자바 스프링 프로젝트를 생성할 때 jar를 사용했었는데요. 아무래도 Pruduction 환경에 배포해야 하기 때문에 jar가 아닌 war를 사용해야 할거 같습니다. 우선, build.gradle 파일을 아래와 같이 수정해야 합니다.
- apply plugin: 'war' 추가
plugins {
id 'java'
id 'org.springframework.boot' version '3.0.2'
id 'io.spring.dependency-management' version '1.1.0'
}
group = 'com.bistelligence'
version = '0.0.1-SNAPSHOT'
sourceCompatibility = '17'
apply plugin: 'war'
dependencies에 톰켓을 추가 해줍니다.
- providedRuntime 'org.springframework.boot:spring-boot-starter-tomcat' 추가
dependencies {
compileOnly 'org.projectlombok:lombok'
developmentOnly 'org.springframework.boot:spring-boot-devtools'
runtimeOnly 'org.postgresql:postgresql'
annotationProcessor 'org.springframework.boot:spring-boot-configuration-processor'
annotationProcessor 'org.projectlombok:lombok'
testImplementation 'org.springframework.boot:spring-boot-starter-test'
implementation 'org.springframework.boot:spring-boot-starter-data-jpa'
implementation 'org.springframework.boot:spring-boot-starter-web'
implementation 'com.fasterxml.jackson.core:jackson-databind:2.10.2'
implementation 'com.github.miwurster:spring-data-influxdb:1.8'
implementation 'org.influxdb:influxdb-java:2.17'
implementation 'org.springdoc:springdoc-openapi-starter-webmvc-ui:2.0.2'
implementation group: 'com.fasterxml.jackson.core', name: 'jackson-databind', version: '2.14.2'
implementation group: 'com.fasterxml.jackson.datatype', name: 'jackson-datatype-jsr310', version: '2.14.2'
implementation group: 'org.mybatis', name: 'mybatis', version: '3.5.11'
implementation group: 'org.mybatis', name: 'mybatis-spring', version: '3.0.1'
implementation group: 'org.mybatis.spring.boot', name: 'mybatis-spring-boot-starter', version: '3.0.1'
implementation group: 'org.hibernate', name: 'hibernate-validator', version: '6.1.1.Final'
implementation 'com.google.code.gson:gson:2.9.0'
providedRuntime 'org.springframework.boot:spring-boot-starter-tomcat'
}
윈도우 환경이기 때문에 아래와같이 그래들 빌드를 실행해줍니다.
PS D:\ngmsoftware\editor\backend> ./gradlew build
빌드가 정상적으로 성공 했습니다.
BUILD SUCCESSFUL in 1s
7 actionable tasks: 7 up-to-date
PS D:\ngmsoftware\editor\backend>
프로젝트의 build/libs 폴더에 보면 war 파일이 생성된걸 확인할 수 있습니다.
서버가 정상적으로 실행되는지 확인하기 위해 build/libs 폴더로 이동합니다.
PS D:\ngmsoftware\editor\backend> cd build/libs
PS D:\ngmsoftware\editor\backend\build\libs>
자바 프로그램을 실행하세요.
PS D:\ngmsoftware\editor\backend\build\libs> java -jar backend-0.0.1-SNAPSHOT.war
서버가 정상적으로 실행되었습니다. jar를 사용해도 되지만, 프로덕션 환경이 주로 톰켓 서버 위에서 실행되다보니 war로 배포하는게 좋은 선택일겁니다. 대부분의 설명이 Maven으로 되어 있어서 Gradle을 사용하시는 분들은 설정에 어려움이 있을텐데요. 사실, 단순히 이 내용만으로 해결되지 않을수도 있습니다. 몇몇 이슈가 있어서 코드를 수정해야 할수도 있거든요^^
개발자에게 후원하기
추천, 구독, 홍보 꼭~ 부탁드립니다.
여러분의 후원이 빠른 귀농을 가능하게 해줍니다~ 답답한 도시를 벗어나 귀농하고 싶은 개발자~
감사합니다~
- 이전글Linux CentOS - Java 백그라운드 실행 방법. (nohup) 23.04.04
- 다음글Java Spring boot에서 CORS(Cross-Origin Resource Sharing) 적용하는 방법. 23.03.24
댓글목록
등록된 댓글이 없습니다.