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

Liferay 6.2 EE SP14部署OSGI模块jar文件后修改未生效问题排查

问题排查与解决方案

1 首先确认OSGi Bundle的实际运行状态

Liferay 6.2 EE的OSGi模块启动失败日志默认不会输出到常规的catalina.out中,仅会记录文件复制成功的提示,你需要通过Felix Gogo Shell手动检查状态:

  • 本地执行telnet localhost 11311连接Gogo控制台(默认端口11311,若有修改请替换为实际端口)
  • 执行命令lb | grep moci找到对应bundle的ID和状态
    • 若状态为INSTALLED:说明依赖缺失,执行diag <bundle ID>可查看具体缺少的导入包,你当前pom中Import-Package配置为*,如果运行环境缺少对应依赖就会卡在该状态无法启动
    • 若状态为RESOLVED:说明依赖已满足但未成功启动,执行start <bundle ID>可触发启动,若报错大概率为Blueprint配置错误、Camel路由配置异常或依赖的OSGi服务不存在
    • 若状态为ACTIVE:说明旧版本bundle未被正确覆盖,先执行uninstall <bundle ID>,删除liferay/data/osgi/modules/下对应jar文件后再重新部署新版本

2 常见部署失效原因

  • 同版本号未更新:你当前部署的jar版本为1.6.1,若Liferay中已存在相同符号名、相同版本的bundle,系统默认不会覆盖已运行的旧版本,修改代码后建议升级子模块版本号,或部署前先卸载旧版本bundle
  • 子模块打包配置异常:检查对应子模块的pom是否正确继承了父pom的maven-bundle-plugin配置,是否存在自定义覆盖符号名、导出/导入包配置的情况,确认你修改的代码确实被打包到了新生成的jar文件中
  • 日志级别过低:可在portal-ext.properties中添加如下配置,开启OSGi相关的详细日志,方便定位启动失败原因:
    logger.level.org.apache.felix=DEBUG
    logger.level.org.apache.aries.blueprint=DEBUG
    logger.level.org.apache.camel=DEBUG
    

补充说明

你当前的父pom配置为pom打包类型,子模块为bundle打包类型,执行mvn install仅生成jar包属于正常情况,OSGi模块本来就是以jar包形式部署,不需要生成war文件,部署方法本身没有问题。


内容的提问来源于stack exchange,提问作者SolS

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 11:06:03