欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

SpringBoot打war包部署Tomacat

程序员文章站 2024-02-07 16:42:34
...

一、前言

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

二、如何打war包

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

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

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

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

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

这里我们可以从官网的文档中看到。
SpringBoot打war包部署Tomacat
代码如下:

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-tomcat</artifactId>
            <scope>provided</scope>
        </dependency>

2.3第三步:继承SpringBootServletInitializer

这一步就是将我们的application继承SpringBootServletInitializer,

方法一:启动类继承SpringBootServletInitializer实现configure(官网文档中的方式)

SpringBoot打war包部署Tomacat
代码如下:

//指定dao包的位置
@MapperScan(basePackages = "com.bai.dao")
//表示当前项目为springboot应用
@SpringBootApplication
public class Application extends SpringBootServletInitializer {

    public static void main(String[] args) {
        SpringApplication.run(Application.class, args);
    }

    @Override
    protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
        return builder.sources(Application.class);
    }
}

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

或者是,如果你不想这样,还有另外一种办法

方法二:新建一个类继承SpringBootServletInitializer实现configure
public class ServletInitializer extends SpringBootServletInitializer {

    @Override
    protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
        //此处的Application.class为带有@SpringBootApplication注解的启动类
        return builder.sources(Application.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/XXX.jsp

springboot版本更新的比较快,可能不同版本的区别不同。建议以官方文档为准。
这里分享一下官网地址:springboot官网链接:https://spring.io/projects/spring-boot#learn

本篇文章在他人基础上完成。
原文链接:https://blog.csdn.net/u012489412/article/details/84023569
原文链接:https://blog.csdn.net/qq_33512843/article/details/80951741