jar로 된 Spring boot 프로젝트를 war 로 배포(2) - war 배포
반응형

이젠 war 배포를 할 차례이다. spring boot 구성한 프로젝트는 이미 준비되어 있다고 가정한다.

 

아래와 같이 pom.xml 을 수정한다.

<groupId>com.enowy</groupId>
<artifactId>test</artifactId>
<name>test</name>
<packaging>war</packaging>  ### 이 항목을 추가한다.
<description>Test API</description>
   .
   .
   .
   .
<build>
.
.
.
	<finalName>ROOT</finalName>  ### 이렇게 지정해야 tomcat의 server.xml 을 수정하지 않아도 된다.
</build>

build > finalName 을 지정하지 않으면 artifactID + version 이 조합된 파일로 생성되며 호출 URL 가운데 이 경로가 추가된다.

 

  • finalName이 ROOT인경우
    • http://testdomain/want_to_make_api
  • finalName을 지정하지 않은 경우 중간에 원하지 않는 경로가 추가된다.
    • http://testdomain/artifactID + version 이름/want_to_make_api

 

TestApplication.java 를 수정한다.

@SpringBootApplication
public class TestApplication extends SpringBootServletInitializer {

	public static void main(String[] args) {
		SpringApplication.run(TestApplication.class, args);
	}
	
	@Override
	protected SpringApplicationBuilder configure(SpringApplicationBuilder applicationBuilder)
	{
		return applicationBuilder(TestApplication.class);
	}
	

}

 

수정한 프로젝트를 빌드한다.

# pom.xml을 기반으로 package를 만드는데 Test 는 skip 한다.

./mvnw package -P pom.xml -DskipTests

 

이후 Tomcat의 webapp 밑에 모두 삭제하고 ROOT.war 를 적재한 뒤 Tomcat을 기동한다.

반응형