找到Spring Boot项目的pom.xml文件
1、打包方式修改
<packaging>jar</packaging>
改成
<packaging>war</packaging>
2、增加一个dependency,将内置Tomcat的作用范围改成provided
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
<scope>provided</scope>
</dependency>
3、自定义初始化类并继承Spring Boot为我们提供好的SpringBootServletInitializer,并覆盖configure方法
package com.example.WEB_demo;
import org.springframework.boot.builder.SpringApplicationBuilder;
import org.springframework.boot.web.servlet.support.SpringBootServletInitializer;
public class ServletInitializer extends SpringBootServletInitializer
{
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder builder)
{
return builder.sources(WebDemoApplication.class);
}
// 这个方法测试用,不加也可以
public ServletInitializer()
{
System.out.println("ServletInitializer容器启动初始化。。。");
}
}
4、Eclipse中添加Servers,点击这行字:
5、选择合适的Tomcat版本:
如果没有runtime environment,需要在点击最下边一行Configuration runtime environments…,把外部Tomcat的路径配置到Eclipse里。
点击Next。
6、在左侧找到你要运行的项目,点击中间的Add,添加到右侧。
点击Finish
7、双击Servers窗口中新建好的Tomcat服务,打开配置界面:
找到Server Locations配置:
- 把Server path的选项改为:第二个“User Tomcat installation”
- 把Deploy path改为:wtpwebapps改为webapps
记得保存配置。
这里的Server path的三个选项意思是说,Tomcat的配置文件存放的位置,各有优劣。
- Use workspace metadata 默认位置(.metadata/.plugins/org.eclipse.wst.server.core/tmp0),不修改本机安装的Tomcat。
- Use Tomcat installation(配置的本地Tomcat目录,如:/Users/wang/Library/apache-tomcat-8.5.29),受控于本机安装的Tomcat。但是由于这种方式会把web项目拷贝到本机Tomcat的webapps目录下,可以非常直观的查看项目部署后的目录结构与文件。
- Use custom location(使用任意其他目录),不修改本机安装的Tomcat。
8、在添加完成的Tomcat Server中,右键——选择Debug。
可以看到控制台打印出来“ServletInitializer容器启动初始化。。。”,并且在Tomcat加载完成之后,自动启动了Spring Boot。