欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

springboot项目打成war包

程序员文章站 2024-03-09 08:59:05
...

一,pom文件修改:

  1. 声明打包格式
    <packaging>war</packaging>
  1. 声明使用外部Tomcat
     <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-tomcat</artifactId>
            <scope>provided</scope>
     </dependency>
注:provided 的作用是项目打成war包时,此jar包不打包到lib文件夹下。

二,springboot启动文件修改

  1. 继承SpringBootServletInitializer。
  2. 重写configure方法。
package com.zsm;

import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.builder.SpringApplicationBuilder;
import org.springframework.boot.web.servlet.support.SpringBootServletInitializer;

@SpringBootApplication
@MapperScan("com.zsm.xdvideo.mapper")
public class XdvideoApplication extends SpringBootServletInitializer {

    /**
     * 导出war在外部tomcat使用时, 不能使用main函数运行, 需要配置此项
     */
    @Override
    protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
        // 注意这里要指向原先用main方法执行的Application启动类
        return builder.sources(XdvideoApplication.class);
    }
    /**
     * IDE运行时 运行此函数
     * @param args
     */
    public static void main(String[] args) {
        SpringApplication.run(XdvideoApplication.class, args);
    }

}

三,服务器项目访问的注意点

  • 访问项目时,根目录为war包名称,假如war包名称为“xdvideo.war”,访问路径为:http://xx.xx.xxx.xx:8080/xdvideo.
  • server.servlet.context-path=/xdvideo,此配置可以省略,如果配置,名称只能是xdvideo,其他名称在此配置无效。