Spring Boot打war包部署到外部tomcat的简单实现~~~

引言

在实际开发中,通常会使用Spring boot 打包方式为war包,并部署在远程tomcat服务器上。

一、修改 pom文件

​ 1)将打包方式修改为war

​ 2) 指定最终打成war包的名称(最好与application.properties(或application.yml)中context-path保持一致)

​ 3)打包时,去掉tomcat依赖

<packaging>war</packaging>
<dependencies>
	<dependency>
   	 	<groupId>org.springframework.boot</groupId>
    	<artifactId>spring-boot-starter-web</artifactId>
  	<!--排除spring-boot-starter-web中的Tomcat-->
    	<exclusions>
        	<exclusion>
            	<groupId>org.springframework.boot</groupId>
            	<artifactId>spring-boot-starter-tomcat</artifactId>
        	</exclusion>
    	</exclusions>
	</dependency>

        <dependency>
            <groupId>org.apache.tomcat.embed</groupId>
            <artifactId>tomcat-embed-jasper</artifactId>
            <scope>provided</scope>
        </dependency>
  
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-tomcat</artifactId>
            <scope>provided</scope>
        </dependency>
</dependencies>
<build>
    <finalName>war包名称</finalName>
    <plugins>
        <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
        </plugin>
    </plugins>
</build>

二、修改主启动类

Spring Boot 程序入口类需继承 SpringBootServletInitializer 类 并重写 configure 方法。

@SpringBootApplication
public class SpringBootDemoApplication extends SpringBootServletInitializer {
	public static void main(String[] args) {
		SpringApplication.run(SpringBootDemoApplication.class, args);
	}

	@Override
	protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
		return application.sources(SpringBootDemoApplication.class); //参数为当前SpringBoot启动类 并且构造新资源
        
	}
}

三、打包

可以通过maven进行打包war包到本地

四、部署

将war包放入tomcat下的webapps目录下,然后启动tomcat。

五、注意

使用外部Tomcat部署访问的时候,application.yml / application.properties 中配置的端口和上下文路径将失效,请使用tomcat的端口,tomcat中的webapps下项目名进行访问。

因为war部署的时候 tomcat默认将你的根路径变成你的war包的名称;即我们在访问时,地址为 http:/localhost:8080/war包名称/

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值