springBoot打包成 war包并部署tomcat

本次以 springboot+maven 项目举例:

步骤1:  准备好tomcat容器 以及 jdk,为避免其他不必要问题,这里建议下载全新的tomcat.

本次搭配的是:  apache-tomcat-8.5.63  解压版  

                           jdk_1.8

框架:spring-boot 2.0.6

包管理工具:maven_3.3.9   

开发工具:idea

步骤2:pom  里面 3个步骤,一个class启动类的步骤,共4步:

    a:  打包方式war包格式,以下:

         war

  b: 忽略掉 springboot自带的tomcat:

            org.springframework.boot

            spring-boot-starter-web

         

               

                    org.springframework.boot

                    spring-boot-starter-tomcat

               

           

       

c: 增加 servlet-api包:

            javax.servlet

            javax.servlet-api

            3.1.0

           

            provided

       

注意  tomcat的版本 以及jdk的版本和增加的jar包搭配使用,如果配置不当,很可能会出现异常。

以上步骤完成之后:

         检查代码,比如  各个拦截器的配置,过滤器的配置,以及路径配置问题, 主要为防止 访问出现问题。

d: 设置主目录:

这个建议 新增加一个class类,平时调试用app启动类,打包就用此类

public class StartWeb extends SpringBootServletInitializer {

    @Override

    protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {

        return builder.sources(StartApplication.class);

    }

}

注解:  StartWeb新建的类,继承  SpringBootServletInitializer 

重写  启动源: return builder.sources(StartApplication.class);

StartApplication   jar包启动的那个主类

步骤3,打包  并  运行


先 clean   然后 compile   再 package

然后就会生成 war包,把war包丢进   tomcat的webapps目录下,然后启动,即可。

访问路径参照  ip(本地)+(端口:tomcat server.xml配置的)+ /“war包名”/XX

本次在全打包过程中,出现过两个小问题:

    1-war包解压出错    2-tomcat启动但访问不了

在此: 建议:  1-使用全新的tomcat ,避免  使用旧的tomcat造成配置错误,引发不必要的排查

2- 代码中过滤器,拦截器,安全框架,属性配置文件检查,避免路径问题

你可能感兴趣的:(springBoot打包成 war包并部署tomcat)