天天看点

SpringBoot打war包部署Tomacat

一、前言

大家都知道,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