一,pom文件修改:
- 声明打包格式
<packaging>war</packaging>
- 声明使用外部Tomcat
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
<scope>provided</scope>
</dependency>
注:provided 的作用是项目打成war包时,此jar包不打包到lib文件夹下。
二,springboot启动文件修改
- 继承SpringBootServletInitializer。
- 重写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,其他名称在此配置无效。