spring boot之專案打包部署
阿新 • • 發佈:2019-01-24
1.修改pom.xml打包方式以及包名相關資訊
<!--打包方式-->
<packaging>war</packaging>
<build>
<!--buil下新增包名-->
<finalName>ProjectName</finalName>
</build>
2.修改spring boot啟動類的啟動方式
啟動類需要繼承SpringBootServletInitializer ,並重寫其configure方法,如下:
package com.yang.mb;
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;
import org.springframework.transaction.annotation.EnableTransactionManagement;
@SpringBootApplication
@EnableTransactionManagement
public class MbApplication extends SpringBootServletInitializer {
public static void main(String[] args) {
SpringApplication.run(MbApplication.class, args);
}
/**
* 需要把web專案打成war包部署到外部tomcat執行時需要改變啟動方式
*/
@Override
protected SpringApplicationBuilder configure (SpringApplicationBuilder builder) {
return builder.sources(MbApplication.class);
}
}
3.使用maven工具打包
開啟idea右側maven工作欄,雙擊package,打包完成後會將war輸出到target目錄下
4.war包部署
將war拷貝到tomcat的webapps目錄下,重啟tomcat,tomcat會自動解壓並部署。
5.啟動時
當tomcat部署多個spring boot 應用時啟動可能會報
org.springframework.jmx.export.UnableToRegisterMBeanException: Unable to register MBean
需要加上專案的標識,分別在專案的配置檔案application.properties檔案新增:
#新增專案標識,保證每個專案唯一
spring.jmx.default-domain=
然後重啟tomcat即可。