将 Spring Boot 打包为 war ,然后放置于 Tomcat 的 webapps 目录下加载运行,接下来我们就详细描述下打包为 war 的过程。
目录
在【pom.xml】文件中修改默认的打包方式,显式指定打包方式为 war。
<name>demospring</name>
<packaging>war</packaging>
由于 Spring Boot 内置了 Tomcat ,所以我们在打包时需要排除内置的 Tomcat ,这样可以避免内置 Tomcat 和 war 包部署运行的 Tomcat 产生冲突。在 pom.xml 中添加如下依赖即可:
<!-- 阻断器·打包的是否排除内置的tomcat -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
</dependency>
package com.item;
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
public class Action extends SpringBootServletInitializer {
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
return application.sources(Action.class);
}
public static void main(String[] args) {
SpringApplication.run(Action.class,args);//一定是被@SpringBootApplication标记的类
}
}
项目路径中打开【cmd】并执行
mvn clean package -Dmaven.test.skip=true
使用
mvn clean package -Dmaven.test.skip=true
命令打包应用了,运行命令后会在 target 目录下生成 war 文件,将该文件放置于 Tomcat 的 webapps 目录下运行即可。
前后端分离部署的方式,更能发挥服务器的性能,如果要进行版本升级,直接替换后端war包就OK。