zoukankan      html  css  js  c++  java
  • Spring Boot 构建WAR包

      归功于Spring Boot的自动配置功能,我们不需要创建web.xml文件或者servlet初始化类来声明Spring MVC的DispatcherServlet。

      首先要设置编译成war包:

        <packaging>war</packaging>

      然后继承SpringBootServletInitializer,并覆盖configure(SpringApplicationBuilder builder)方法,它调用sources() 方法注册了一个Spring 配置类。

      本例只注册了一个Application类。这个类既是启动类(带有main()方法),也是一个Spring配置类。

      Application类上添加了@SpringBootApplication注解。这会隐性开启组件扫描,而组件扫描则会发现并应用其他配置类。

    package com.zgz.webinitializer;
    
    import com.zgz.Application;
    import org.springframework.boot.builder.SpringApplicationBuilder;
    import org.springframework.boot.web.support.SpringBootServletInitializer;
    
    /**
     * Created by zgz on 2017/12/16.
     */
    public class ServletInitializer extends SpringBootServletInitializer {
        @Override
        protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
            return builder.sources(Application.class);
        }
    }

      然后执行$ mvn package或者$ mvn install就可进行打包了,或者双击idea工具的Maven Projects下的命令进行打包:

                  

      然后将war放在本地tomcat容器就可以启动使用了,只是因为用的是本地tomcat,关于application.properties的内置tomcat的配置就无效了,

      像:server.port跟server.context-path等

      还有就是要注意,像我在idea进行编译,用内置tomcat启动工程的时候,使用到了如下两个依赖:

      <dependency>
      <groupId>org.apache.tomcat.embed</groupId>
      <artifactId>tomcat-embed-jasper</artifactId>
      </dependency>
      <dependency>
       <groupId>javax.servlet</groupId>
      <artifactId>javax.servlet-api</artifactId>
      </dependency>
      
      但在构建war包的时候,可以将这两个架包去除,不然引入tomcat-embed-jasper架包会导致在本地tomcat启动报错,而javax.servlet-api在容器tomcat本身已经拥有了,无需在编译进工程。
      每个容器使用Spring Boot编译的war包,可能或多或少存在一些问题,架包冲突,缺少架包,具体问题具体分析,我相信Spring Boot会越来越完美。

      以上纯属个人理解,如有错误,请帮我纠正,谢谢。
      

     

  • 相关阅读:
    Winget
    全部所学知识
    重装系统
    srs更改端口号导致webrtc播放异常
    .NET性能优化方面的总结(转)
    从自动变换页面背景CSS改写成变换背景图
    网页级在线性能网站测试介绍
    ASP.NET服务器端控件学习(一)
    Nginx源码分析内存池
    使用Memcached提高.NET应用程序的性能
  • 原文地址:https://www.cnblogs.com/zgz21/p/8051832.html
Copyright © 2011-2022 走看看