12、Spring Boot:使用Eclipse在外部Tomcat中运行

找到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。

 

 

 

 

 

 

 

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值