SpringBoot 项目打包成war在Tomcat上运行
原创
©著作权归作者所有:来自51CTO博客作者蹊源的奇思妙想的原创作品,请联系作者获取转载授权,否则将追究法律责任
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文件

运行tomcat,成功。

