1. 修改pom.xml
1.1 <packaging>
元素的值应当为war
<packaging>war</packaging>
1.2 在依赖spring-boot-starter-web
中填写如下内容
<exclusions>
<exclusion>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
</exclusion>
</exclusions>
完整示例
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<!-- 新增内容 -->
<exclusions>
<exclusion>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
</exclusion>
</exclusions>
<!-- 新增内容 -->
</dependency>
由于
springboot
内置tomcat
依赖,以上表示移除嵌入式tomcat
插件。避免部署至tomcat
时依赖发生冲突
1.3 添加servlet-api
依赖
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>3.1.0</version>
<scope>provided</scope>
</dependency>
1.4 在<bulid>
元素中添加如下内容
<finalName>demo</finalName>
用于指定打包生成的
war
文件对应的文件名称
完整示例
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
<!-- 新增内容 -->
<finalName>demo</finalName>
<!-- 新增内容 -->
</build>
2. 修改Application启动类
package com.example.demo;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.builder.SpringApplicationBuilder;
import org.springframework.boot.web.servlet.support.SpringBootServletInitializer;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@SpringBootApplication
@RestController
public class DemoApplication extends SpringBootServletInitializer{
@RequestMapping("/")
public String index(){
return "Hello Spring Boot";
}
public static void main(String[] args) {
SpringApplication.run(DemoApplication.class, args);
}
// 用于构建war文件并进行部署
@Override
protected SpringApplicationBuilder configure(
SpringApplicationBuilder builder) {
return builder.sources(this.getClass());
}
}
继承SpringBootServletInitializer并重写configure方法。这里为了打包后方便测试,添加了一个控制器
index
,并返回了Hello Spring Boot
字符串。并为启动类添加了@RestController
注解
3.修改application.properties
server.servlet.context-path=/MyProject
4.打包
做完以上事宜后,到资源管理器中打开该项目,并打开命令行窗口。运行mvn clear install
,并等待输出[INFO] BUILD SUCCESS
字样后,即为打包成功。包位于项目目录下的target
文件中,以war
后缀结尾。
将文件放置于taomcat
的webapps
目录下,启动tomcat
即可通过浏览器访问:localhost:8080\demo\