注册 X
提交 注:点击提交后系统会发送邮件到邮箱验证!(仅支持中国大陆邮箱)
我已阅读并同意 服务条款
首页 > IT技术笔记 > 查看笔记

SpringBoot打成war包,部署到Tomcat服务器

SpringBoot默认达成jar包,使用SpringBoot构想web应用,默认使用内置的Tomcat。但考虑到项目需要集群部署或者进行优化时,就需要打成war包部署到外部的Tomcat服务器中。

本文所使用SpringBoot版本为:2.0.3.RELEASE

一、修改pom.xml文件将默认的jar方式改为war:

        
        
      

二、排除内置的Tomcat容器(两种方式都可):

1.排除spring-boot-starter-web中的Tomcat

        
        
      

2.添加依赖

        
        
      

三、继承org.springframework.boot.web.servlet.support.SpringBootServletInitializer,实现configure方法:

启动类代码:

        
        
      

1.方式一,启动类继承SpringBootServletInitializer实现configure:

        
        
      

2.方式二,新增加一个类继承SpringBootServletInitializer实现configure:

        
        
      

注意事项:

使用外部Tomcat部署访问的时候,application.properties(或者application.yml)中配置的

        
        
      

将失效,请使用tomcat的端口,tomcat,webapps下项目名进行访问。

为了防止应用上下文所导致的项目访问资源加载不到的问题,

建议pom.xml文件中build签下添加finalName标签:

        
        
      

使用mvn命令行打包,运行:

clean是清除之前的包,-Dmaven.test.skip=true是忽略测试代码

jar 方式打包,使用内置Tomcat:mvn clean install -Dmaven.test.skip=true

运行:java -jar 包名.jar

war方式打包,使用外置Tomcat:mvn clean package -Dmaven.test.skip=true

运行:

        
        
      

注:如果放到tomcat外部启动报 Caused by:

        
        
      

解决如下:

把tomcat7换成tomcat8运行


 打赏        分享



评论

邮箱: 昵称: