Files
loan-pricing/doc/2026-04-16-TongWeb自启动适配后端实施记录.md
2026-04-16 15:43:00 +08:00

4.4 KiB
Raw Blame History

TongWeb自启动适配后端实施记录

1. 本次改动概述

本次仅对后端 ruoyi-admin 模块进行 TongWeb 自启动适配,保持 Spring Boot java -jar 启动方式不变,完成了以下改造:

  • 接入 TongWeb Spring Boot Starter 依赖。
  • 排除默认内嵌 Tomcat 主依赖链。
  • Tongweb_license.dat 纳入 ruoyi-admin 资源目录并打包进产物。
  • devuatpro 三套环境配置中增加 server.tongweb.license.path
  • 补充 TongWeb 资源与配置的自动化测试。

2. 修改文件

新增文件:

  • ruoyi-admin/src/main/resources/Tongweb_license.dat
  • ruoyi-admin/src/test/java/com/ruoyi/TongWebLicenseResourceTest.java
  • ruoyi-admin/src/test/java/com/ruoyi/TongWebYamlConfigTest.java
  • doc/2026-04-16-TongWeb自启动适配后端实施记录.md

修改文件:

  • ruoyi-admin/pom.xml
  • ruoyi-admin/src/main/resources/application-dev.yml
  • ruoyi-admin/src/main/resources/application-uat.yml
  • ruoyi-admin/src/main/resources/application-pro.yml

3. 关键实施内容

3.1 依赖与打包调整

ruoyi-admin/pom.xml 中完成以下处理:

  • ruoyi-framework 依赖增加 spring-boot-starter-tomcat 排除。
  • 新增 com.tongweb.springboot:tongweb-spring-boot-starter-2.x:7.0.E.7
  • 增加 resources 配置,确保 .dat 文件进入构建产物。
  • 新增 TongWeb Maven 仓库:
    • https://mvn.elitescloud.com/nexus/repository/maven-releases/

补充仓库的原因是:项目当前默认只使用阿里云公共仓库,无法解析 TongWeb Starter 依赖。

3.2 License 资源接入

doc/Tongweb_license.dat 复制到:

  • ruoyi-admin/src/main/resources/Tongweb_license.dat

构建后已确认该文件进入 ruoyi-admin.jar

  • BOOT-INF/classes/Tongweb_license.dat

3.3 多环境配置补充

在以下文件的 server 节点下增加:

tongweb:
    license:
        path: classpath:Tongweb_license.dat

涉及文件:

  • ruoyi-admin/src/main/resources/application-dev.yml
  • ruoyi-admin/src/main/resources/application-uat.yml
  • ruoyi-admin/src/main/resources/application-pro.yml

3.4 自动化测试补充

新增测试:

  • TongWebLicenseResourceTest
    • 校验 Tongweb_license.dat 可从 classpath 读取。
  • TongWebYamlConfigTest
    • 校验 devuatpro 三套环境都声明了 server.tongweb.license.path

4. 验证结果

4.1 测试验证

执行命令:

mvn -pl ruoyi-admin -am -Dtest=TongWebLicenseResourceTest -Dsurefire.failIfNoSpecifiedTests=false test
mvn -pl ruoyi-admin -am -Dtest=TongWebYamlConfigTest -Dsurefire.failIfNoSpecifiedTests=false test

结果:

  • 两个新增测试均通过。

4.2 构建验证

执行命令:

mvn -pl ruoyi-admin -am package -DskipTests

结果:

  • 构建成功。
  • ruoyi-admin.jarruoyi-admin.war 均正常产出。

4.3 产物检查

执行命令:

jar tf ruoyi-admin/target/ruoyi-admin.jar | rg 'Tongweb_license.dat|tongweb'

结果:

  • 确认 Tongweb_license.dat 已被打包到 BOOT-INF/classes/
  • 确认 TongWeb 相关依赖已进入最终产物。

4.4 依赖树检查

执行命令:

mvn -pl ruoyi-admin dependency:tree '-Dincludes=com.tongweb.springboot:*,com.tongweb:*,org.apache.tomcat.embed:*'

结果:

  • 已出现 TongWeb Starter 及其相关依赖。
  • 默认 spring-boot-starter-tomcat 主依赖链已不在结果中。
  • 依赖树中仍存在 org.apache.tomcat.embed:tomcat-embed-el:9.0.112,来源为 spring-boot-starter-validation,本次未额外清理。

4.5 启动验证

执行命令:

mvn -f ruoyi-admin/pom.xml spring-boot:run -Dspring-boot.run.profiles=dev

结果:

  • 应用成功监听 63310 端口。
  • TongWeb License SDK 日志已输出,说明 server.tongweb.license.path 配置生效,许可证文件已被读取。
  • 启动验证完成后,已手动结束后台 Java 进程,未残留测试进程。

5. 风险与遗留事项

启动日志中发现当前 Tongweb_license.dat 本身存在以下问题:

  • 许可证版本信息为 7.0,而当前中间件产品版本为 7.0.E,存在版本不匹配告警。
  • 许可证有效期显示为 2023-02-23,已过期。

结论:

  • 本次代码改造已经打通 TongWeb 接入、资源加载、配置读取和启动链路。
  • 但上线前应替换为与 TongWeb 7.0.E 匹配且在有效期内的正式授权文件,否则运行环境存在授权风险。