我的第一个portlet没有显示在liferay仪表板上.激活时会出现错误



Build.Gradle文件:

dependencies {
compileOnly group: "com.liferay", name: "com.liferay.asset.taglib", version: "4.0.15"
compileOnly group: "com.liferay", name: "com.liferay.comment.taglib", version: "2.0.7"
compileOnly group: "com.liferay", name: "com.liferay.frontend.taglib", version: "4.0.15"
compileOnly group: "com.liferay", name: "com.liferay.frontend.taglib.dynamic.section", version: "2.0.1"
compileOnly group: "com.liferay", name: "com.liferay.frontend.taglib.form.navigator", version: "3.0.5"
compileOnly group: "com.liferay", name: "com.liferay.frontend.taglib.util", version: "2.0.2"
compileOnly group: "com.liferay", name: "com.liferay.journal.taglib", version: "3.0.1"
compileOnly group: "com.liferay", name: "com.liferay.layout.taglib", version: "4.0.8"
compileOnly group: "com.liferay", name: "com.liferay.site.taglib", version: "2.0.1"
compileOnly group: "com.liferay.portal", name: "com.liferay.portal.kernel", version: "4.0.0"
compileOnly group: "com.liferay.portal", name: "com.liferay.util.taglib", version: "4.1.0"
compileOnly group: "javax.portlet", name: "portlet-api", version: "3.0.0"
compileOnly group: "javax.servlet", name: "javax.servlet-api", version: "3.0.1"
compileOnly group: "jstl", name: "jstl", version: "1.2"
compileOnly group: "org.osgi", name: "org.osgi.service.component.annotations", version: "1.3.0"
cssBuilder group: "com.liferay", name: "com.liferay.css.builder", version: "3.0.2"
}

`Liferay服务器版本:Liferay-ce-portal-7.3.1-ga2Liferay Developer Studio版本:3.8.0.202002250521-g1

当我执行此步骤时,即。控制面板>应用程序管理器>找到我创建的portlet>激活,我得到以下错误。请帮我摆脱这个问题

错误日志:

2020-04-28 00:55:45.121 ERROR [http-nio-8080-exec-4][PortletServlet:119] javax.portlet.PortletException: org.osgi.framework.BundleException: Could not resolve module: MyFirstPortlet [2280]_  Unresolved requirement: Import-Package: com.liferay.portal.kernel.portlet.bridges.mvc; version="[2.0.0,3.0.0)"_ [Sanitized]
javax.portlet.PortletException: org.osgi.framework.BundleException: Could not resolve module: MyFirstPortlet [2280]_  Unresolved requirement: Import-Package: com.liferay.portal.kernel.portlet.bridges.mvc; version="[2.0.0,3.0.0)"_ [Sanitized]
at com.liferay.portal.kernel.portlet.LiferayPortlet.callActionMethod(LiferayPortlet.java:192)
at com.liferay.portal.kernel.portlet.bridges.mvc.MVCPortlet.callActionMethod(MVCPortlet.java:395)
at com.liferay.portal.kernel.portlet.LiferayPortlet.processAction(LiferayPortlet.java:88)
at com.liferay.portal.kernel.portlet.bridges.mvc.MVCPortlet.processAction(MVCPortlet.java:248)

问题出现在您在build.gradle中配置的某个依赖项版本中。实际情况是,您的构建环境使用build.gradle中声明的版本,但在运行时,您的模块找不到它所依赖的库的兼容版本。因此,它无法部署。

假设您使用的是Liferay Workspace(即您的portlet位于子目录modules中(,解决它的最简单方法是使用其"目标平台":编辑您的Liferay工作区的gradle.properties(位于顶层(,并确保它包含一行表示您的目标版本:

liferay.workspace.target.platform.version = 7.3.1

此外,检查文件的其余部分,它指向一个匹配的捆绑包,您应该是一致的。

完成此操作后,从build.gradle中删除版本声明,因为它们将自动从匹配的运行时中获取。一旦您将运行时环境升级到下一个GA版本,您可能需要再次升级目标版本。

最新更新