zoukankan      html  css  js  c++  java
  • SpringBoot项目打包成war包

    ① 如果我们当前的maven项目本身就是war类型的项目,直接打包即可

    但是如果我们当前的maven项目是jar类型的项目,我们需要将项目修改

    war类型,修改项目的pom文件,使用packaging标签设置值为war

    并且需要在项目中创建webApp文件夹,并设置为资源文件夹。

    ② 在SpringBoot的pom文件中将web启动器中的tomcat依赖排除

    因为我们打包的war项目要放在自己的tomcat服务器中运行,需要

    排出SpringBoot项目内置的tomcat。然后再手动的将tomcat插件

    依赖过来,并设置其scope值为provided。

    <!--配置SpringBoot的web启动器-->
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
        <!--排除web启动中自动依赖的tomcat插件-->
        <exclusions>
            <exclusion>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-tomcat</artifactId>
            </exclusion>
        </exclusions>
    </dependency>
    <!--
        手动依赖tomcat插件,但是表明项目打包时该依赖不会被打进去,目的主要是保证开发阶段本地SpringBoot
        项目可以正常运行
    -->
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-tomcat</artifactId>
        <!--打包的时候可以不用包进去,别的设施会提供。事实上该依赖理论上可以参与编译,测试,运行等周期。
            相当于compile,但是打包阶段做了exclude操作-->
        <scope>provided</scope>
    </dependency>
    

      

    ③ SpringBoot的启动类继承SpringBootServletInitializer,并重写configure

    @SpringBootApplication
    @MapperScan("com.bjsxt.mapper")
    public class MyApplication extends SpringBootServletInitializer {
        //重写配置方法
        @Override
        protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
            return application.sources(MyApplication.class);
        }
        public static void main(String[] args) {
            //启动SpringBoot
            SpringApplication.run(MyApplication.class,args);
        }
    }
    

      

    ④ 使用install命令打包项目,并将war包放到tomcat下的webapps下,启动
    tomcat即可。

    ⑤如果我们使用的是tomcat7则需要将javax.el-api-3.0.0.jar包放到tomcat下 lib目录中。

  • 相关阅读:
    Linux网卡驱动程序对ethtool的支持和实现
    Linux下samba编译与安装(Ubuntu和嵌入式linux)
    [DM8168]Linux下SPI驱动测试
    Sublime Text 2 中文乱码
    Linux线程优先级
    Linux再谈互斥锁与条件变量
    Makefile编写记录
    Linux大小端模式转换函数
    电脑显卡4种接口类型:VGA、DVI、HDMI、DP
    python __enter__ 与 __exit__的作用,以及与 with 语句的关系
  • 原文地址:https://www.cnblogs.com/vincentmax/p/14335055.html
Copyright © 2011-2022 走看看