在 Liferay 7 中使用 LocalServiceUtils
Using LocalServiceUtils in Liferay 7
我们正在开始我们的第一个 Liferay 7 项目,但我已经卡住了。
我想创建一个从 DDMContent Table 读取数据的 portlet。
幸运的是有 DDMContentLocalServiceUtil。
我正在为如何实际使用它而苦苦挣扎。
我像这样将它添加到 build.gradile 文件中:
compileOnly group: "com.liferay", name: "com.liferay.dynamic.data.mapping.api", version: "3.1.0"
我像这样将它添加到 bnd.bnd 文件中:
Import-Package: com.liferay.dynamic.data.mapping.api;version=3.1.0
然后我像这样将 class 包含在我的 portlet 中:
@Reference
public void setContentLocalServiceUtil(DDMContentLocalServiceUtil contentLocalServiceUtil) {
this.contentLocalServiceUtil = contentLocalServiceUtil;
}
Portlet 编译并开始部署,但我从未达到可以实际使用它的地步,因为它从未完全部署过。
没有异常,也没有提示我做错了什么。
我的版本号正确吗?
我需要将它添加到 bnd.bnd 文件吗?
谁能帮帮我?
此致,
丹尼尔
1) 你应该使用
Import-Package: *
然后让 BND 根据您正在编译的 jar 文件(您在 Gradle 的依赖项中拥有的文件)为您解决这个问题
2) 不要导入<Name>LocalServiceUtil
类。这些不是 OSGi 服务。请改用 <Name>LocalService
。这些是定义契约的接口。在您的情况下,它应该是:
@Reference
public void setContentLocalService(DDMContentLocalService contentLocalService) {
3) 如果您的包仍然无法正常启动,请连接到 gogo shell (telnet localhost 11311
) 并检查其状态。使用 diag
命令或简单地尝试使用 start <bundleId>
手动启动它,框架会告诉您它是否有问题。
我们正在开始我们的第一个 Liferay 7 项目,但我已经卡住了。
我想创建一个从 DDMContent Table 读取数据的 portlet。 幸运的是有 DDMContentLocalServiceUtil。
我正在为如何实际使用它而苦苦挣扎。
我像这样将它添加到 build.gradile 文件中:
compileOnly group: "com.liferay", name: "com.liferay.dynamic.data.mapping.api", version: "3.1.0"
我像这样将它添加到 bnd.bnd 文件中:
Import-Package: com.liferay.dynamic.data.mapping.api;version=3.1.0
然后我像这样将 class 包含在我的 portlet 中:
@Reference
public void setContentLocalServiceUtil(DDMContentLocalServiceUtil contentLocalServiceUtil) {
this.contentLocalServiceUtil = contentLocalServiceUtil;
}
Portlet 编译并开始部署,但我从未达到可以实际使用它的地步,因为它从未完全部署过。 没有异常,也没有提示我做错了什么。
我的版本号正确吗? 我需要将它添加到 bnd.bnd 文件吗? 谁能帮帮我?
此致,
丹尼尔
1) 你应该使用
Import-Package: *
然后让 BND 根据您正在编译的 jar 文件(您在 Gradle 的依赖项中拥有的文件)为您解决这个问题
2) 不要导入<Name>LocalServiceUtil
类。这些不是 OSGi 服务。请改用 <Name>LocalService
。这些是定义契约的接口。在您的情况下,它应该是:
@Reference
public void setContentLocalService(DDMContentLocalService contentLocalService) {
3) 如果您的包仍然无法正常启动,请连接到 gogo shell (telnet localhost 11311
) 并检查其状态。使用 diag
命令或简单地尝试使用 start <bundleId>
手动启动它,框架会告诉您它是否有问题。