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

Liferay 7.1.3-ga4升级至7.2.1-ga2出现NoSuchModuleException报错如何解决

Liferay版本升级故障修复及可行方案

故障根因

报错的核心原因是数据库中存储的Marketplace模块元数据与实际部署的LPKG包版本不匹配:

  1. 从6.2迁移到7.1时残留的旧模块元数据未清理,7.2版本已废弃CE Foundation系列的旧LPKG包,升级过程中Marketplace服务尝试删除不存在的模块记录,触发NoSuchModuleException
  2. 误删/osgi/marketplace下的LPKG文件导致7.1实例缺失核心依赖包,直接造成原实例无法运行

分步操作方案

1. 恢复原有7.1实例可用性

  • 下载同版本的liferay-ce-portal-7.1.3-ga4官方安装包,解压后将/osgi/marketplace目录下的所有文件完整复制到你的故障7.1实例对应路径
  • 启动7.1实例确认运行正常后,立即备份全量数据库和实例所有文件,所有后续操作都基于该备份执行

2. 清理残留元数据(解决升级报错)

7.1实例运行验证通过后执行以下操作:

  • 停止7.1实例,连接业务数据库,执行SQL清除所有Marketplace残留记录:
DELETE FROM Marketplace_Module;
DELETE FROM Marketplace_App;
  • 删除实例目录下/osgi/state文件夹,清除OSGi运行缓存,避免旧模块状态残留

3. 执行7.2版本升级

  • 准备liferay-ce-portal-7.2.1-ga2的干净安装包,不要复用旧实例的/osgi/marketplace目录内容
  • 将7.1实例的配置文件(如portal-ext.properties)、附件存储目录(document_library)迁移到7.2实例对应路径
  • 执行数据库升级脚本db_upgrade.sh(Windows环境执行db_upgrade.bat),此时不会再出现模块不存在的报错
  • 升级流程提示完成后,启动7.2实例,检查系统日志和业务功能可用性

注意事项

  • 由于你的系统是从6.2迭代升级而来,升级完成后需要逐一验证自定义开发的Portlet兼容性,部分6.2时期开发的组件可能需要适配7.2的API规则
  • 7.2版本已内置原CE Foundation系列的全部核心功能,不需要额外安装已停止维护的旧版LPKG包

内容的提问来源于stack exchange,提问作者William Andrés Bernal

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 00:24:03