springboot 項目打war包

平常springboot項目默認打包成jar包,但是由於有時候我們需要將項目放在同一個tomcat下面運行,那麼我們就需要將SpringBoot打包成war包。

具體操作:

1.修改pom.xml文件


<groupId>sf-carbon-emission</groupId>
	<artifactId>sf-carbon-emission</artifactId>
	<version>0.0.1-SNAPSHOT</version>
	<!--<packaging>jar</packaging>-->
	<packaging>war</packaging>

2、去掉org.springframework.boot依賴中的tomcat內置容器

<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-web</artifactId>
			<exclusions>
				<exclusion>
					<groupId>org.springframework.boot</groupId>
					<artifactId>spring-boot-starter-tomcat</artifactId>
				</exclusion>
			</exclusions>
		</dependency>

3. 新建一個SpringBootStartApplication 繼承自 SpringBootServletInitializer

【注意】:這個新建的類,與springboot的啓動類是同級的


import org.springframework.boot.builder.SpringApplicationBuilder;
import org.springframework.boot.web.servlet.support.SpringBootServletInitializer;

/**
 * Description:
 * 打war包
 * 2018-07-03 15:03
 */

public class SpringBootStartApplication extends SpringBootServletInitializer {

    @Override
    protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
      return builder.sources(com.sf.carbon.emission.MainApplication.class);
  }


}

注意:SpringBootServletInitializer接口需要依賴 javax.servlet

在pom.xml中添加依賴:


		<dependency>
			<groupId>javax.servlet</groupId>
			<artifactId>javax.servlet-api</artifactId>
		</dependency>

4.然後,請不要用Intellij idea來打包項目爲Jar,項目的根目錄,然後用  mvn clean package 這個命令來打包,如圖所示:


打包成功在target目錄下即可看到war包


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