文章目錄
- SpringBoot打包并部署到Tomcat
-
- 1 修改入口類
- 2 修改.pom
- 3 打包
- 4 部署到Tomcat
SpringBoot打包并部署到Tomcat
得益于約定大于配置,SpringBoot開發起來非常迅速,而打包也非常簡單,隻需要進行少許配置即可。
1 修改入口類
繼承org.springframework.boot.web.servlet.support.SpringBootServletInitializer類,覆寫configure()方法,用于打包。
@SpringBootApplication
public class MutildataApplication extends SpringBootServletInitializer {
public static void main(String[] args) {
SpringApplication.run(MutildataApplication.class, args);
}
// 用于建構war檔案并進行部署
@Override
protected SpringApplicationBuilder configure(
SpringApplicationBuilder builder) {
return builder.sources(this.getClass());
}
}
2 修改.pom
首先指定打包方式,可選jar/war,這裡打包為war包。
<packaging>為<project>标簽的子标簽,即與<dependencies>同級。
簡單描述下war包與jar包的差別:
- .war:包含可以部署在任何servlet/jsp容器上的Web應用程式。war檔案包含有jsp、html、JavaScript,以及構成Web應用程式的其他資源。
- .jar:包含lib、class、properties等檔案。
是以可以将單獨的war包直接部署到Web容器,向外提供服務,非常易于部署。
另外排除掉内嵌的tomcat容器依賴,以便部署到自己已有的tomcat容器。
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<!-- 移除嵌入式tomcat插件 -->
<exclusions>
<exclusion>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>3.1.0</version>
<scope>provided</scope>
</dependency>
3 打包
方式一:
進入項目根目錄,執行maven指令
mvn clean package
方式二:
在IDEA右側Maven Projects小視窗中,先執行clean指令,再執行package指令。
![](https://img.laitimes.com/img/__Qf2AjLwojIjJCLyojI0JCLiAzNfRHLGZkRGZkRfJ3bs92YsYTMfVmepNHLyUEROlXQE9EMNpHW4Z0MMBjVtJWd0ckW65UbM5WOHJWa5kHT20ESjBjUIF2X0hXZ0xCMx81dvRWYoNHLrdEZwZ1Rh5WNXp1bwNjW1ZUba9VZwlHdssmch1mclRXY39CXldWYtlWPzNXZj9mcw1ycz9WL49zZuBnLxYTOwUTO1IjM0ETMwkTMwIzLc52YucWbp5GZzNmLn9Gbi1yZtl2Lc9CX6MHc0RHaiojIsJye.png)
經過以上兩種方式之一,此項目根目錄則會生成target檔案夾,并在target檔案夾的根目錄生成war包。下面隻需要将這一個war包部署到Tomcat即可。
這裡去掉版本号,保留項目名,即mutildata.war
4 部署到Tomcat
将war包複制到Tomcat根目錄下的webapp檔案夾中,并執行bin目錄下的startup.bat腳本以啟動Tomcat,等待啟動完成,通路http://localhost:8080/mutildata檢視頁面。
到此為止,我們的SpringBoot就算是部署成功了!