Spring-boot打war包部署到tomcat

1、maven项目,修改pom包

<packaging>jar</packaging>  

改为

<packaging>war</packaging>

2、打包时排除tomcat.

<dependency>
	<groupId>org.springframework.boot</groupId>
	<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
	<groupId>org.springframework.boot</groupId>
	<artifactId>spring-boot-starter-tomcat</artifactId>
	<scope>provided</scope>
</dependency>

在这里将scope属性设置为provided,这样在最终形成的WAR中不会包含这个JAR包,因为Tomcat或Jetty等服务器在运行时将会提供相关的API类。

3、注册启动类

创建ServletInitializer.java,继承SpringBootServletInitializer ,覆盖configure(),把启动类Application注册进去。外部web应用服务器构建Web Application Context的时候,会把启动类添加进去。

public class ServletInitializer extends SpringBootServletInitializer {
    @Override
    protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
        return application.sources(Application.class);
    }
}

最后执行,注意必须进到项目所在目录,与 pom.xml 文件同级

mvn clean package  -Dmaven.test.skip=true

会在target目录下生成:项目名+版本号.war文件,拷贝到tomcat webapps目录中启动即可。


启动时项目名为war包文件名,如 spring-boot-mybatis-mulidatasource-1.0.0.war,访问时就是这样:


部署成功访问如上图。


参考链接:http://www.ityouknow.com/springboot/2017/05/09/springboot-deploy.html

猜你喜欢

转载自blog.csdn.net/ruoxuan25/article/details/72900773