我正在使用 Liferay
portal-7.4-ga107
(使用 IntelliJ),并尝试按照 Liferay 的 本教程 制作一个培训留言簿应用程序。
我完美地遵循了它,甚至重复了该过程 3 次,但在 "Integrating the Back-end"
step 结束时,我总是在部署模块/portlet 后立即遇到此错误:
error: cannot find symbol
import com.liferay.portal.kernel.uuid.PortalUUID;
^
symbol: class PortalUUID
location: package com.liferay.portal.kernel.uuid
该错误似乎与持久性类中的这种依赖关系直接相关(这些类是在此过程中自动生成的):
在持久化类中,PortalUUID
仅在此处“使用”:这里:
我做了很多研究并尝试了一些东西,但没有运气。该错误可能与我尚未发现的过时内容有关,或者与我的版本
PortalUUID
的更改有关,我真的不知道。我正在使用 JDK 8 和 gradle 6.9.2
相关尝试:
在完成 Liferay 教程中的
这一步
之后,我尝试部署我的 portlet
guestbook-web
,我希望它能够成功构建,但是出现了 kernel.uuid.PortalUUID
依赖错误。后来,我尝试将
PortalUUID
替换为
PortalUUIDUtil
,这最后一个并没有导致代码出现任何错误,但是在部署模块(
guestbook-web
)之后,它没有出现在门户中。最后,我在 Liferay 文档中看到
PortalUUIDUtil
有一个
getPortalUUID()
方法,我尝试使用
PortalUUIDUtil.getPortalUUID();
但没有成功(根据我的 IDE,该方法甚至不存在)。
最好的选择是
当前的 PortalUUIDUtil 类,它在其 java.util.UUID
方法中使用
generate
。我希望
PortalUUIDUtil.generate()
成为新的替代者。持保留态度:这只是来自于实现,而不是教程/示例代码。
9.0.4
或更高版本才能使用
PortalUUID
。