gpt4 book ai didi

portlet - 将简单的 Portlet 部署到 Liferay - ClassCastException

转载 作者:行者123 更新时间:2023-12-01 18:43:53 27 4
gpt4 key购买 nike

我正在将最基本的 Portlet 部署到 Liferay:

public class FirstPortlet extends GenericPortlet
{
@RenderMode(name="VIEW")
public void welcomeWelcome(RenderRequest request,
RenderResponse response) throws
PortletException, IOException
{
PrintWriter out = response.getWriter();
out.println ("This is a portlet, <em>within a Portal</em>");
}
}

在部署时,我收到 ClassCastException:

 Caused by: java.lang.ClassCastException: FirstPortlet cannot be cast to javax.po
rtlet.Portlet

谷歌搜索后,部署 portlet.jar 似乎是一个错误 - 我已经确定我不是无意中这样做的。

javax.portlet.Portlet 是由 GenericPortlet 实现的,所有 Portlet 示例似乎都扩展了 GenericPortlet,所以我认为没问题。

有人可以帮忙吗?

最佳答案

javax.portlet.Portlet is implemented by GenericPortlet, and all Portlet examples seem to extend GenericPortlet so I assume that's ok.

如果 GenericPortlet 实现 Portlet,我的猜测是您遇到了类加载器问题。该类在两个不同的类加载器中加载了两次,因此被认为是不同的。

After Googling, it appears that deploying portlet.jar is a mistake - I've made sure I'm not accidentally doing this.

我仍然建议您仔细检查是否没有在某处加载两次 portlet.jar (或另一个包含 Portlet 的 jar)。可能的位置取决于您使用的容器(Tomcat?Glassfish?)。

关于portlet - 将简单的 Portlet 部署到 Liferay - ClassCastException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2366452/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com