- 将项目默认的package方式由jar改成war
<groupId>com.cx</groupId>
<artifactId>artifactName</artifactId>
<version>1.0-SNAPSHOT</version>
<packaging>war</packaging>
复制代码
- 排除内置的tomcat插件
<!--springBoot整合web依赖-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<!--移除内置的tomcat容器-->
<exclusions>
<exclusion>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
</exclusion>
</exclusions>
</dependency>
复制代码
- 添加spring-boot-starter-tomcat的provided依赖,这个依赖是编译时的依赖,运行是不需要
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
<!--打包的时候可以不用包进去,别的设施会提供,事实上该依赖理论上可以参与编译,测试,运行等周期。
相当于compile,但是打包阶段做了exclude操作(scope)-->
<scope>provided</scope>
</dependency>
复制代码
- 添加maven-war-plugin插件
<!--finalName是打包后的war包名称,比如这里应该是artifactIdName.war-->
<build>
<finalName>${project.artifactId}</finalName>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
复制代码
- 修改启动类,继承SpringBootServletInitializer类并重写configure()方法
/**
* Created by chenxiong on 18/11/24.
*/
@SpringBootApplication
public class MainApplication extends SpringBootServletInitializer {
public static void main(String[] args) throws Exception{
SpringApplication.run(MainApplication.class,args);
}
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
return super.configure(builder);
}
}
复制代码
- 打包:切换到当前项目路径下,输入maven打包命令
mvn clean package
复制代码
- 访问路径改变:项目部署前要记得修改html中的一些路径
eg. localhost:8080/to_login =>localhost:8080/warName/to_login