驽马十驾 驽马十驾

驽马十驾,功在不舍

目录
SpringBoot 项目打成 war 包部署
/  

SpringBoot 项目打成 war 包部署

SpringBoot提供了非常方便的将 tomcat一起打包后为jar一键启动的方式。

因为项目原因,需要将项目打包为 war 包部署,所以经过查阅官方文档,将处理方式简单记录下,方便后续排查。

识迷途其未远,觉今是而昨非!

步骤

  1. 启动类继承 SpringBootServletInitializer
  2. 重写启动的configure
@SpringBootApplication
public class Application extends SpringBootServletInitializer {

    /**
     * 重写configure 方法。
     * 通过形参 application 的 source 方法启动启动类 Application
     */
	@Override
	protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
		return application.sources(Application.class);
	}

	public static void main(String[] args) throws Exception {
		SpringApplication.run(Application.class, args);
	}
}
  1. packaging的打包方式换为war
<packaging>war</packaging>
  1. 将 引入的 tomcat 换为 provided 的方式
<dependencies>
	<dependency>
		<groupId>org.springframework.boot</groupId>
		<artifactId>spring-boot-starter-tomcat</artifactId>
        <!--注意:此处需要添加 provided,表示仅仅是程序编译时候使用,不会将依赖打包到pom中 -->
        <!--目的:是防止冲突-->
		<scope>provided</scope>
	</dependency>
</dependencies>
  1. 非必须,如果需要指定jar包的名称,那么在build中进行配置
    <build>
        <!--设置名称-->
        <finalName>xxx-your-name</finalName>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>

总结

经过上述步骤后,一个最基本的能够在tomcat获取jetty这些web容器下运行的war包就打包完成。

您有任何建议和意见,请Email联系: hicode_club@163.com

转载请保留出处 HiCode 俱乐部 : http://www.hicode.club

骐骥一跃,不能十步。驽马十驾,功在不舍。