Idea對SpringBoot項目進行打包發佈

前段時間,在寫的項目需要打包發佈,放到Tomcat上面運行,結果本以爲是很簡單的事情,還是浪費了好一會...,本着面向google編程的思想,查了一些資料,遲遲無法解決。後面發現,SpringBoot項目打包和其他項目是不同的,需要對入口啓動類進行一些調整。這裏記錄一下使用idea對SpringBoot項目進行打包的過程。

以打成war包爲例

因爲是SpringBoot項目,需要對啓動類進行一些修改,否則就算打包完成,運行tomcat時會出現接口無法訪問的問題

讓啓動類繼承SpringBootServletInitializer類,重寫configure方法,參考我的啓動類文件,可以直接複製。DemoApplication是我的啓動類名,根據需要自行修改爲自己的啓動類

@SpringBootApplication
public class DemoApplication extends SpringBootServletInitializer {

    public static void main(String[] args) {
        SpringApplication.run(DemoApplication.class, args);
    }
    
    //重寫configure方法,否則在部署到tomcat時,接口將訪問不到
    @Override
    protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
        return application.sources(DemoApplication.class);
    }
}

修改後,找到Maven這個選項卡,雙擊運行Lifecycle下的package,等待打包完成。

打包完成後,控制檯輸出編譯成功的提示信息

如果打包成功,項目的根目錄下會生成一個target文件夾,文件夾中標紅的war文件就是打包後生成的war包了

將這個war包放到tomcat的webapps目錄下,運行tomcat

*在運行tomcat時,tomcat會將war包解壓出來,相當於項目多了一層目錄,tomcat運行完成時可以查看webapps這個目錄。所以在訪問我們的項目時,要加上這個層目錄

例如我本來是訪問http://localhost:8080/index,現在要訪問http://localhost:8080/demo-0.0.1-SNAPSHOT/index,不過這個目錄名還是可以改的,在tomcat運行解壓完後,直接修改war文件解壓出來的文件夾名稱即可

-------------------------------------------------------------結束------------------------------------------------------------------

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章