SpringBoot打War包部署Tomacat

原文链接:https://blog.csdn.net/u012489412/article/details/84023569

一、前言


大家都知道,springboot有2种部署方式,一种是打jar包部署,一种是打war包部署,jar包部署通常比较简单,war包部署麻烦一些,这里我就分享一下我部署war包的经验。

二、如何打war包


对于如何打war包,很多小伙伴,都知道,直接pom文件里,把那个jar换成war即可,是的,确实如此,但是还需要一点其它操作。

2.1第一步:修改pom文件的jar为war


打开我们的pom.xml文件,修改如下代码

	<groupId>com.fm</groupId>
	<artifactId>test</artifactId>
	<version>0.0.1-dev</version>
	<!--这里修改-->
	<packaging>war</packaging>


2.2第二步:需要将嵌入式容器依赖项改为“provided”

provided

含义:被依赖项目理论上可以参与编译、测试、运行等阶段,相当于compile,但是再打包阶段做了exclude的动作。
适用场景:例如, 如果我们在开发一个web 应用,在编译时我们需要依赖 servlet-api.jar,但是在运行时我们不需要该 jar 包,因为这个 jar 包已由应用服务器提供,此时我们需要使用 provided 进行范围修饰。

如果你的项目中有依赖spring-boot-starter-tomcat包,需要将它标记为provided,如果你没有使用它,则不需要操作这一步

这里我们可以从官网的文档中看到。

这样就好了吗?不,这样还不够。还有一步操作

2.3第三步:继承SpringBootServletInitializer

这一步就是将我们的application继承SpringBootServletInitializer,
方法一:按照官网文档中的方式操作

 

本人亲试,打完包以后可以成功。

或者是,如果你不想这样,还有另外一种办法
方法二:新建一个类继承SpringBootServletInitializer

public class ServletInitializer extends SpringBootServletInitializer {
    @Override
    protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) { //此处的Application.class为带有@SpringBootApplication注解的启动类
        return builder.sources(CcbhouseApplication.class);
    }
}

本人亲试,这种方式也可以成功。

三、如何部署war包
完成以上步骤,我们就可以打包了,使用maven clean一下,然后再package或者install都可,打包成功后,将war包放进tomacat的webapp目录下,然后启动tomacat。

注意:启动后的访问地址,将不再是你在springboot里面配置的ip和端口号,而是你的tomacat的ip和端口号,除此之外还要带上war包名

例如:我的war包叫test.war,我的tomacat默认的ip是127.0.0.1,端口号默认为8080,我的访问地址就是:http://127.0.0.1:8080/test

好了到这里就结束了,当初做这个时,发现找了很多资料,描述的都不是很清楚,这里记录一下,也分享给大家,希望帮助大家节省时间,减少烦恼。我个人建议,还是先去官网上查看一下官方文档,springboot版本更新的比较快,可能不同版本的区别不同。建议以官方文档为准。
这里分享一下官网地址:springboot官网链接:https://spring.io/projects/spring-boot#learn

 https://docs.spring.io/spring-boot/docs/2.1.0.RELEASE/reference/htmlsingle/
————————————————
原文链接:https://blog.csdn.net/u012489412/article/details/84023569

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值