SpringBoot打包并部署到Tomcat
约定大于配置,SpringBoot开发起来非常迅速,而打包也非常简单,只需要进行少许配置即可
1. 修改入口类
将入口类继承SpringBootServletInitializer类,然后重写configure方法
@SpringBootApplication
public class MlpmisqaWebIhzsrCnApplication extends SpringBootServletInitializer {
public static void main(String[] args) {
SpringApplication.run(MlpmisqaWebIhzsrCnApplication.class, args);
}
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
return builder.sources(MlpmisqaWebIhzsrCnApplication.class);
}
}
2.修改.pom文件
打包成war包
<packaging>war</packaging>
添加依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
<scope>provided</scope>
</dependency>
3.打包
在 IDEA右侧maven Projects小窗口中,先执行clean命令,再执行install命令。
4.部署到Tomcat
将生成的war包复制到webapps目录下,包名即使项目名。然后在bin目录下开启即可访问。
注:如果出现css,js等静态文件无法加载的情况,需添加上下文。我这里简单介绍SpringBoot+thymeleaf项目的解决方案。
4.1.设置静态资源路径
在实现WebMvcConfigurer的配置类中重写addResourceHandlers方法。
/**
* 设置静态资源路径
* @author fang Ruichuan
* @date 2021/10/13 15:43
* @param registry 存储用于通过 SpringMVC 服务静态资源(例如图像,css文件等)的资源处理程序的注册
*/
@Override
public void addResourceHandlers(ResourceHandlerRegistry registry) {
registry.addResourceHandler("/static/**")
.addResourceLocations(ResourceUtils.CLASSPATH_URL_PREFIX + "/static/");
}
4.2.css,js等文件的导入方式
注意要以 **/static/**开头
<link rel="stylesheet" th:href="@{https://www.layuicdn.com/layui/css/layui.css}">
<link rel="stylesheet" th:href="@{/static/css/main.css}">
<script th:src="@{https://www.layuicdn.com/layui/layui.js}"></script>