Liferay DXP 7.4 u92部署Portlet时出现找不到符号错误求助
解决Liferay DXP 7.4 u92中
com.liferay.portal.kernel.uuid.PortalUUID找不到的问题 1. 替换废弃API
在Liferay DXP 7.4及后续版本中,com.liferay.portal.kernel.uuid.PortalUUID已被弃用,官方替换为com.liferay.portal.kernel.util.UUIDGenerator。需要修改代码中的导入语句:
// 替换前 import com.liferay.portal.kernel.uuid.PortalUUID; // 替换后 import com.liferay.portal.kernel.util.UUIDGenerator;
同时调整注入与调用逻辑:
@Reference private UUIDGenerator _uuidGenerator; // 生成UUID的调用方式 String uuid = _uuidGenerator.generate();
2. 校验依赖配置
检查模块的build.gradle文件,确保已正确引入对应版本的kernel API依赖:
dependencies { compileOnly group: "com.liferay.portal", name: "com.liferay.portal.kernel", version: "7.4.3.u92" }
若依赖版本不匹配或缺失,会导致类路径无法识别目标类。
3. 清理重构项目
- 执行Gradle清理命令:
./gradlew clean - 重新构建服务:
./gradlew buildService - 刷新Gradle项目,确保依赖同步完成
- 重新部署模块
4. 检查OSGi导入配置
确认模块的bnd.bnd文件中已正确导入所需包:
Import-Package: com.liferay.portal.kernel.util, *
若存在显式导入配置,需保证com.liferay.portal.kernel.util被包含在内。
内容的提问来源于stack exchange,提问作者HIMANSHU JHA
相关产品推荐
相关产品推荐

