springboot纯后台项目打成war包部署配置

背景:项目是纯springboot后台,前后端分离,平时都是打成jar包使用,因为有个特殊的需求,需要搞成war包部署在类似Tomcat的平台上,特此记录下

于是网上一顿搜索,大部分都是一下步骤:
1、配置pom文件配置成war包,去除springboot自带的tomcat
2、启动类继承SpringBootServletInitializer,重写configure方法

测试了一下,war包是打成功了,也在tomcat中成功部署了,但是有些线上环境上测试接口直接报404,但是偏偏本地用tomcat访问接口没问题,又是一顿折腾,终于解决了。

答案:pom文件中需要配置maven-war-plugin插件 有些环境会检验web.xml配置

详细配置步骤:

  1. pom配置 war包、去除自带的tomcat依赖、配置maven-war-plugin
<packaging>war</packaging>
 <!-- 移除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>
        <!-- 这个依赖让你能够在程序入口类:xxxAppAplication中直接执行main方法启动tomcat -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-tomcat</artifactId>
            <!-- 但是这里一定要设置为provided -->
            <scope>provided</scope>
        </dependency>
<build>
     <finalName>appName</finalName>
    <!-- 省略其他配置 -->
    <plugins>
        <plugin>
            <configuration>
                <excludeDevtools>true</excludeDevtools>
            </configuration>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
            <executions>
                <execution>
                    <goals>
                        <goal>repackage</goal>
                    </goals>
                </execution>
            </executions>
        </plugin>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-war-plugin</artifactId>
            <version>2.4</version>
            <configuration>
                <failOnMissingWebXml>false</failOnMissingWebXml>
            </configuration>
        </plugin>
    </plugins>
</build>
  1. 启动类继承SpringBootServletInitializer,重写configure方法
@SpringBootApplication
public class A extends SpringBootServletInitializer {

    @Override
    protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
        return application.sources(A.class);
    }

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

经测试没有问题,在tomcat中war成功部署,接口访问也正常,大功告成

引用:

标题为 Spring Boot 项目打成 war 包部署,接口报 404 问题 的下面两篇博客

https://www.cnblogs.com/54chensongxia/p/13730179.html
https://blog.csdn.net/qq_44660343/article/details/114820606

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
## 平台简介 可以用于所有的Web应用程序,如网站管理后台,网站会员中心,CMS,CRM,OA。所有前端后台代码封装过后十分精简易上手,出错概率低。同时支持移动客户端访问。系统会陆续更新一些实用功能。 诺寒基于hplus和inspinia两套后台系统模板开发。 http://www.zi-han.net/theme/hplus http://webapplayers.com/inspinia_admin-v2.7.1 ## 内置功能 1. 用户管理:用户是系统操作者,该功能主要完成系统用户配置。 2. 部门管理:配置系统组织机构(公司、部门、小组),树结构展现。 3. 岗位管理:配置系统用户所属担任职务。 4. 菜单管理:配置系统菜单,操作权限,按钮权限标识等。 5. 角色管理:角色菜单权限分配、设置角色按机构进行数据范围权限划分。 6. 字典管理:对系统中经常使用的一些较为固定的数据进行维护。 7. 参数管理:对系统动态配置常用参数。 8. 通知公告:系统通知公告信息发布维护。 9. 操作日志:系统正常操作日志记录和查询;系统异常信息日志记录和查询。 10. 登录日志:系统登录日志记录查询含登录异常。 11. 在线用户:当前系统中活跃用户状态监控。 12. 定时任务:在线(添加、修改、删除)任务调度含执行结果日志。 13. 代码生成:前后端代码的生成(java、html、xml、sql)支持CRUD下载 。 14. 系统接口:根据业务代码自动生成相关的api接口文档。 15. 在线构建器:拖动表单元素生成相应的HTML代码。 16. 连接池监视:监视当期系统数据库连接池状态,可进行分析SQL找出系统性能瓶颈。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值