Deploy WAR to Tomcat
Deploy war ke tomcat server
Untuk mendeploy ke tomcat server kita harus membuat packge dalam bentuk WAR. Hal yg harus dilakukan adalah
Ubah build package kedalam bentuk war dengan memberikan nilai <packaging>war</packaging>
pada pom.xml dan memasukan depedency spring-boot-starter-tomcat pada pom.xml
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<!--Another value here -->
<packaging>war</packaging>
<!--Another value here -->
<depedencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
<scope>provided</scope>
</dependency>
</depedencies>
</project>
Setelah itu pada main application kita perlu menurunkan class SpringBootServletInitializer
dan meng-override function confgure
package com.farras.lsb.ch2;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.builder.SpringApplicationBuilder;
import org.springframework.boot.web.servlet.support.SpringBootServletInitializer;
@SpringBootApplication
public class MainApplication extends SpringBootServletInitializer {
public static void main(String[] args) {
SpringApplication.run(MainApplication.class, args);
}
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
return builder.sources(MainApplication.class);
}
}
Selanjutkan jalankan command mvn clean package
dan taruh war tersebut kedalam webapps folder pada lokasi tomcat.
Error 404
Saya menghabiskan waktuhampir 4 jam untuk mengetahui kenapa file war hasil dari spring boot tidak dapat terbaca ketika kita mengakses alamat URL dari rest seperti;
Solusinya adalah kita perlu menambahkan anotasi @RequestMapping
pada rest controller
[host_name]/api/thisone
. Sebagai trace alamat URL yg tersedia kita dapat melihatnya saat kita mendeploy pada tomcat dengan cara menambahkan nilai berikut pada application.properties