您的位置:首页 > 运维架构 > Tomcat

SpringBoot配置tomcat打成war包并发布

2018-02-06 16:21 627 查看
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>
</
4000
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下面



启动并访问:



完成......
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: