SpringBoot 项目打包成war在Tomcat上运行

Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。

  • 该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。
  • 通过这种方式,Spring Boot致力于在蓬勃发展的快速应用开发领域(rapid application
    development)成为领导者。

SpringBoot的运行是在Tomcat的基础上运行的,那么如何将SpringBoot 项目打包成war发布到Tomcat服务器呢?

Maven引入依赖

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>

<groupId>com.luo</groupId>
<artifactId>SpringBootTest</artifactId>
<version>1.0-SNAPSHOT</version>
<packaging>war</packaging>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.5.7.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>

<dependencies>

<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<version>1.5.7.RELEASE</version>
<!-- 排除Spring 自带的Tomcat 否则将会显示404错误-->
<exclusions>
<exclusion>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
</exclusion>
</exclusions>
</dependency>


<!--支持jsp解析-->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>jstl</artifactId>
</dependency>
<dependency>
<groupId>org.apache.tomcat.embed</groupId>
<artifactId>tomcat-embed-jasper</artifactId>
</dependency>
<dependency>
<groupId>org.apache.tomcat</groupId>
<artifactId>tomcat-jsp-api</artifactId>
</dependency>


</dependencies>
</project>

SpringBoot 启动类

@SpringBootApplication
@RestController
@ComponentScan
public class ShopApplication extends SpringBootServletInitializer {


//重写configure 从而使Tomcat识别启动类
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
return application.sources(ShopApplication.class);
}

public static void main(String[] args) {
SpringApplication.run(ShopApplication.class, args);
}

}

Controller 部分

@Controller
public class MainController {

@RequestMapping("/")
public String index()
{
return "1";
}
}

使用mvn clean package 将项目打包成war文件

SpringBoot 项目打包成war在Tomcat上运行_apache

运行tomcat,成功。

SpringBoot 项目打包成war在Tomcat上运行_SpringBoot 入门_02

SpringBoot 项目打包成war在Tomcat上运行_Spring Boot tomcat_03