springboot项目以war包部署

springboot项目以war包部署

由于项目的服务器是内网的windows系统,无法访问互联网,springboot项目用jar包部署十分麻烦,要下载winsw,还要安装.net framwork,还需要写winsw的配置文件,所以打算用tomcat+war包的形式部署,这样的优点是部署方便,缺点是springboot项目server端口不起作用,需要在tomcat里面配置。

springboot项目改造

springboot pom.xml设置打包方式为war包

 <groupId>com.example</groupId>
   <artifactId>data_acquire</artifactId>
   <version>0.0.1-SNAPSHOT</version>
   <packaging>war</packaging>
   <name>data_acquisition</name>
   <description>Demo project for Spring Boot</description>

springboot web依赖去除自带的tomcat依赖.

        <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>

添加servlet-api依赖使得能够使用HttpServletrequest

           <dependency>
                 <groupId>javax.servlet</groupId>
                 <artifactId>javax.servlet-api</artifactId>
                 <scope>provided</scope>
             </dependency>

添加一个初始化类,在springboo项目启动后初始化

public class ServletInitializer extends SpringBootServletInitializer {
    
    
    public ServletInitializer() {
    
    
        System.out.println("初始化ServletInitializer");
    }
    @Override
    protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
    
    
        return application.sources(DemoApplication.class);//MyApplication是启动类名
    }
}

maven install
在这里插入图片描述
在target目录下找到war包部署到tomcat的webapp里,设置tomcat为服务启动

浏览器访问
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/m0_38110240/article/details/110426710