AKAI TSUKI

System development or Technical something

Create and Deploy war file

作成したHello Worldのアプリケーション
Hello World (web app) by Java, Maven, SpringBoot and Eclipse - あかいつき
ですが、今度はTomcatにデプロイしてみます。

80.1 Create a deployable war fileSpring Boot Reference Guide
を参考に。

Create war file

warファイルを作成するためにpom.xml

<packaging>jar</packaging>

を以下のように変更します。

<packaging>war</packaging>

こちらも追記しておきます。

		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-tomcat</artifactId>
			<scope>provided</scope>
		</dependency>


また、今のままだと生成したwarファイルの名称が

    <artifactId>myapp</artifactId>
    <version>0.0.1-SNAPSHOT</version>

より
myapp-0.0.1-SNAPSHOT.war
となってしまうため

以下のようにfinalNameを指定します。

    <build>
        <finalName>ROOT</finalName>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>

これでROOT.warが生成されるはずです。


あとはSpring Boot側ですが、
SpringBootServletInitializerを継承させ、configureをOverrideしています。

package com.example.zzz;

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 MyappApplication extends SpringBootServletInitializer {

	@Override
	protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
		return builder.sources(MyappApplication.class);
	}

	public static void main(String[] args) {
		SpringApplication.run(MyappApplication.class, args);
	}

}

あとはmvn packageを実行すると。。。

 * snipe *

[INFO] --- spring-boot-maven-plugin:1.3.3.RELEASE:repackage (default) @ myapp ---
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------

 * snipe *

で、無事warファイルが作成されました!

Deploy war file

あとは作成したwarファイルをTomcatのwebappsにデプロイして、Tomcatを起動!
無事画面が確認できました ^o^