4.4 KiB
4.4 KiB
TongWeb自启动适配后端实施记录
1. 本次改动概述
本次仅对后端 ruoyi-admin 模块进行 TongWeb 自启动适配,保持 Spring Boot java -jar 启动方式不变,完成了以下改造:
- 接入 TongWeb Spring Boot Starter 依赖。
- 排除默认内嵌 Tomcat 主依赖链。
- 将
Tongweb_license.dat纳入ruoyi-admin资源目录并打包进产物。 - 在
dev、uat、pro三套环境配置中增加server.tongweb.license.path。 - 补充 TongWeb 资源与配置的自动化测试。
2. 修改文件
新增文件:
ruoyi-admin/src/main/resources/Tongweb_license.datruoyi-admin/src/test/java/com/ruoyi/TongWebLicenseResourceTest.javaruoyi-admin/src/test/java/com/ruoyi/TongWebYamlConfigTest.javadoc/2026-04-16-TongWeb自启动适配后端实施记录.md
修改文件:
ruoyi-admin/pom.xmlruoyi-admin/src/main/resources/application-dev.ymlruoyi-admin/src/main/resources/application-uat.ymlruoyi-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.ymlruoyi-admin/src/main/resources/application-uat.ymlruoyi-admin/src/main/resources/application-pro.yml
3.4 自动化测试补充
新增测试:
TongWebLicenseResourceTest- 校验
Tongweb_license.dat可从 classpath 读取。
- 校验
TongWebYamlConfigTest- 校验
dev、uat、pro三套环境都声明了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.jar与ruoyi-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匹配且在有效期内的正式授权文件,否则运行环境存在授权风险。