SpringBoot打包为WAR,并部署至Tomcat

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后缀结尾。
将文件放置于taomcatwebapps目录下,启动tomcat即可通过浏览器访问:localhost:8080\demo\

在这里插入图片描述
在这里插入图片描述

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值