SpringBoot配置tomcat打成war包并发布

SpringBoot 本身支持有两类的 WEB 容器:默认的 Tomcat、Jetty,那么现在如果从实际的角度来看,在 SpringBoot 运行的时候即使没有 WEB 容器,那么也可以采用自定义的方式实现 WEB 容器的启动。

---------------------------------------------------------------------------------------------

开始:修改 pom.xml 配置文件:· 首先将打包的类型设置为 war 文件

<groupId></groupId>
<artifactId></artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>war</packaging>

项目最终需要进行打包操作,所以还需要设置一个 maven 的 war 文件的打包插件:

<plugin>
   <groupId>org.apache.maven.plugins</groupId>
   <artifactId>maven-war-plugin</artifactId>
   <configuration>
      <warName>springboot-tom</warName>
   </configuration>
</plugin>
更新完成 maven 项目之后会提示用户你现在缺少 webapps/WEB-INF/web.xml 配置文件所以可以通过 Tomcat 安装目录拷贝此文件到项目之中;


如果现在你的项目要想以 Tomcat 的形式运行,那么必须对 SpringBoot 的启动类做有一个简单的配置处理;

package cn.test;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.builder.SpringApplicationBuilder;
import org.springframework.boot.web.support.SpringBootServletInitializer;
import org.springframework.context.annotation.ImportResource;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;

@Controller
@SpringBootApplication
@ImportResource(locations = "classpath:spring-common.xml")
public class SpringbootBaseApplication  extends SpringBootServletInitializer { // 必须继承指定的父类
   @Override
   protected SpringApplicationBuilder configure(
         SpringApplicationBuilder builder) {
      return builder.sources(SpringbootBaseApplication.class) ;
   }
   @RequestMapping("/")
   @ResponseBody
   String home(){
      return "hello world";
   }
   public static void main(String[] args) {
      SpringApplication.run(SpringbootBaseApplication.class, args);
   }
}
然后打包:

把打好的war包放到tomcat webapp下面


启动并访问:


完成......




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值