Spring Boot | war 파일 만들기
war 파일 만들기
코드 작성
build.gradle
buildscript {
repositories {
mavenCentral()
}
dependencies {
classpath 'org.springframework.boot:spring-boot-gradle-plugin:1.2.5.RELEASE'
}
}
apply plugin: 'war'
apply plugin: 'spring-boot'
sourceCompatibility = '1.8'
targetCompatibility = '1.8'
repositories {
mavenCentral()
}
dependencies {
compile 'org.springframework.boot:spring-boot-starter-web'
providedCompile 'org.springframework.boot:spring-boot-starter-tomcat'
}
war {
baseName = 'spring-boot-war'
}
- war 플러그인을 로드한다.
- 기본적으로 내장 서버로 사용하는 Tomcat의 의존관계를 providedCompile로 변경한다.
Main.java
package sample.springboot;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.builder.SpringApplicationBuilder;
import org.springframework.boot.context.web.SpringBootServletInitializer;
@SpringBootApplication
public class Main extends SpringBootServletInitializer {
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
return application.sources(Main.class);
}
public static void main(String[] args) {
SpringApplication.run(Main.class, args);
}
}
- main 메소드를 정의하고 클래스는 다음과 같이 수정한다. - SpringBootServletInitializer를 상속한다. - configure (SpringApplicationBuilder)을 대체한다.
SampleResource.java
package sample.springboot;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController;
@RestController
@RequestMapping("/sample")
public class SampleResource {
@RequestMapping(method=RequestMethod.GET)
public String hello() {
return "Hello Spring Boot!!";
}
}
- 테스트 용 리소스 클래스.
동작 확인
war을 빌드한다.
$ gradle war
build/libs 아래 spring-boot-war.jar가 출력되므로 Tomcat에 디플로이한다.
curl으로 동작 확인
$ curl http://localhost:8080/spring-boot-war/sample
Hello Spring Boot!!
비교적 간단히 war 파일을 만들 수 있다.
참고
- 59.4 Packaging executable jar and war files | Spring Boot Reference Guide
- 74.1 Create a deployable war file | Spring Boot Reference Guide
- Spring Boot 응용 프로그램을 빌드하고 WAR 파일 만들기 - M12i.
최종 수정 : 2017-12-17