歡迎您光臨本站 註冊首頁

SpringBoot中maven項目打成war包部署在liunx服務器上的方法

←手機掃碼閱讀     wooen @ 2020-05-13 , reply:0

說明:Spring Boot由於內嵌瞭如Tomcat,Jetty和Undertow這樣的容器,也就是說可以直接跑起來,用不著再像Spring項目還需要外置的Tomcat等容器來進行部署工作了,通過啟動啟動類就可以建立獨立的Spring應用程序。Spring Boot部署在服務器上主要分為兩種方式:一是打成jar包發佈,二是打成war包發佈,第一種方式只需要在該服務器中運行java -jar+部署項目的名稱就可以啟動(不要忘了.jar後綴名),操作比較簡單,第二種方式操作比較複雜一點,並且是項目發佈的常用打包方法,本編博客主要說明打成war包的方式如何部署到服務器中。
一。pom.xml文件配置
1.第一步我們需要移除Spring Boot項目中內置的tomcat容器,並配置外部的tomcat容器:

org.springframework.bootspring-boot-starter-weborg.springframework.bootspring-boot-starter-tomcatorg.springframework.bootspring-boot-starter-tomcatprovided


2.第二步添加servlet依賴:

javax.servletjavax.servlet-apiprovided


3.第三步將打包的方式改成war包:

war


4.第四步修改打包的項目名稱,使用build標籤下的finalName標籤修改:

ROOT


二。Spring Boot啟動類配置:
該步驟有兩種實現方式
1.第一種實現方式,啟動類繼承SpringBootServletInitializer類並重寫configure方法:
@SpringBootApplication(exclude = WebAutoConfiguration.class) public class GunsApplication extends SpringBootServletInitializer { private final static Logger logger = LoggerFactory.getLogger(GunsApplication.class); @Override protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) { // 注意這裡要指向原先用main方法執行的Application啟動類 return builder.sources(GunsApplication.class); } public static void main(String[] args) { SpringApplication.run(GunsApplication.class, args); logger.info("GunsApplication is success!"); } }
2.第二種實現方式,新建一個類繼承SpringBootServletInitializer類並重寫configure方法:(注意:該類要放在與啟動類一致的目錄下)
public class GunsServletInitializer extends SpringBootServletInitializer { @Override protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) { return builder.sources(GunsApplication.class); } }
三。使用Maven工具打包:
四。發佈到liunx服務器中:
連接到服務器,將打好的war包tomcat安裝目錄下的webapps,啟動tomcat,自動解析war包生成相應的文件夾,打開瀏覽器輸入ip:(tomcat啟動端口號)就可以進行訪問了。(注意:在這個例子中我刪除了webapps目錄下原有的ROOT文件夾,並且把項目的名稱改成了ROOT,所以直接用ip+端口號就能直接訪問,但是如果不是這麼操作的話,需要在端口號後面再加上項目的名稱即可訪問。)


[wooen ] SpringBoot中maven項目打成war包部署在liunx服務器上的方法已經有260次圍觀

http://coctec.com/docs/java/show-post-234283.html