[springboot] gradle war deploy 배포

스프링부트를 이용하여 만든 프로젝트를 war로 묶어서 외부 tomcat에 돌리고 싶을때..


- build.gradle 파일에 아래 내용 추가


1
2
3
4
5
6
7
8
9
10
11
12
apply plugin: 'war'
war {
    baseName = 'market2'    
}
 
..
 
dependencies {
..
providedRuntime('org.springframework.boot:spring-boot-starter-tomcat')
..
}
cs


- java class 생성 혹은 기존 class에 추가


SpringBootServletInitializer 상속, SpringApplicationBuilder @override..


1
2
3
4
5
6
7
8
9
10
11
@SpringBootApplication
public class MarketApplication extends SpringBootServletInitializer {
    @Override
    protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
        return application.sources(MarketApplication.class);
    }
    
    public static void main(String[] args) {
        SpringApplication.run(MarketApplication.class, args);
    }
}
cs


- STS 기준 프로젝트 우클릭 후 -> Gradle(STS) -> Task Quick Launcher 클릭후 build 작성 후 엔터

- 프로젝트 build -> libs 폴더에 상단에 작성해준 war명으로 프로젝트가 생성됨


생성된 war를 외부 tomcat webapps 밑에 넣어두면 끝..