springboot项目改造部署到宝兰德中间件踩坑记录

在此记录一下信创改造踩过的坑,宝兰德中间件名称和版本 BES Application Server:9.5.5

1、依赖变动

首先需要排除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>

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

部署到中间件运行上不需要bes-lite-spring-boot-2.x-starter,如果打进包中会冲突

2、检查web.xml版本

部署到宝兰德中间件后,启动成功,前端资源也可以访问,但是无法访问到后端的接口等,查看log发现spring并没有启动,连spring的logo都没有出现。更没有其他报错。仔细阅读log看到如下两条
在这里插入图片描述
原因出在web.xml是4.0,宝兰德中间件无法识别,降到3.0版本,重新打包后运行成功。

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://java.sun.com/xml/ns/javaee"
      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
      xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
      http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
      version="3.0">
       
</web-app>

3、开发注意

由上面的问题,可以意识到。如果是老项目改造,最好用低于tomcat9的版本跑一下,以免出现兼容问题。新项目开发可以直接使用bes-lite-spring-boot-2.x-starter替代spring-boot-starter-webbes-lite-spring-boot-2.x-starter的依赖jar包可以在这个链接找到:点击跳转

4、宝兰德中间件使用的一些小tips

  1. 浏览器端日志查看很不方便,可以在/root/bes_node/节点名/instances/实例名/logs下直接打印server.log日志
  2. 前后端分离项目,前端直接将vue打包好的dist文件夹重命名为应用名.war,用ftp上传到服务器上,默认目录是/opt/BES-AppServer/applications/。然后就可以在部署应用时直接勾选。不用在意为什么是文件夹格式,代码和人有一个能跑就行
Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐