“错误:找不到符号导入com.liferay.portal.kernel.uuid.PortalUUID;”在 Liferay 7.4

问题描述 投票:0回答:2

我正在使用 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,该方法甚至不存在)。

java gradle intellij-idea liferay liferay-7
2个回答
0
投票
最近实现(和API)似乎发生了变化,并且教程尚未更新。

最好的选择是

当前的 PortalUUIDUtil 类,它在其 java.util.UUID

 方法中使用 
generate

我希望

PortalUUIDUtil.generate()

成为新的替代者。持保留态度:这只是来自于实现,而不是教程/示例代码。


0
投票
Liferay 7.4 需要 gradle 版本

9.0.4

 或更高版本才能使用 
PortalUUID

© www.soinside.com 2019 - 2024. All rights reserved.