You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

OpenLiberty运行JPMS模块时出现模块未找到编译信息的原因及是否可忽略咨询

OpenLiberty运行JPMS模块时出现「Source compilation had errors」的原因及处理方案

原因分析

这些错误是因为OpenLiberty启动时的模块校验逻辑和Maven/IDE的编译机制存在差异:

  • lombok:作为注解处理器,部分版本未完整实现JPMS模块规范,Liberty启动时的源码扫描无法将其识别为合法模块
  • jakarta.jakartaee.web.api:OpenLiberty本身已内置Jakarta EE Web API,你声明的这个依赖大概率是聚合Jar,并非标准JPMS模块,Liberty无法识别
  • slf4j.api:若使用的版本低于2.0.0,该依赖没有自带module-info.java,Liberty无法将其判定为有效JPMS模块

解决方案

针对不同依赖分别调整:

  1. lombok:
    在module-info.java中将声明改为requires static lombok;——因为lombok仅为编译时依赖,运行时无需加载,static修饰符会告诉Liberty仅在编译阶段识别该依赖;也可以升级lombok到1.18.20及以上版本,这类版本已支持JPMS模块规范
  2. jakarta.jakartaee.web.api:
    直接移除module-info.java中的requires jakarta.jakartaee.web.api;声明,依赖OpenLiberty内置的Jakarta EE API即可,避免重复依赖引发的冲突
  3. slf4j.api:
    • 升级到2.0.0及以上版本,该版本已原生支持JPMS
    • 若无法升级,同样使用requires static slf4j.api;声明,或者检查Liberty的日志配置是否已集成slf4j实现(如logback、log4j)

是否可以忽略这些信息

如果应用运行完全正常,无功能异常,这些日志仅为启动阶段的校验警告,确实可以忽略。但建议优先修复:一方面能清理日志噪音,另一方面避免OpenLiberty后续版本的校验逻辑收紧引发实际运行问题

内容的提问来源于stack exchange,提问作者r-uu

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.16 06:50:06