[java.lang.ClassCastException:CustomPortlet与javax.portlet.Portlet不兼容

时间:2013-11-16 05:37:02

标签: java classcastexception websphere-portal myeclipse

我尝试在MyEclipse tutorial之后使用MyEclipse创建portlet。我做了所有的stesps并将项目导出为WAR。将它安装到Portal并将其放在页面上时,它说“此portlet不可用”。

查找相关讨论here

例外情况是:SRVE0068E:应用程序[PA_Vijay]中servlet [CustomPortlet]的一种服务方法引发了异常。创建异常:[java.lang.ClassCastException:CustomPortlet与javax.portlet.Portlet不兼容

这是我的java代码:

import java.io.IOException;
import java.io.PrintWriter;

import javax.portlet.GenericPortlet;
import javax.portlet.PortletConfig;
import javax.portlet.PortletException;
import javax.portlet.RenderRequest;
import javax.portlet.RenderResponse;
import javax.portlet.UnavailableException;


public class CustomPortlet extends GenericPortlet {

    /**
     * Helper method to serve up the view mode.
     */

    public void init(PortletConfig pc)throws UnavailableException, PortletException{

        super.init(pc);
    }

    protected void doView(RenderRequest request, RenderResponse response)
            throws PortletException, IOException {
        response.setContentType("text/html");
        PrintWriter writer = response.getWriter();
        writer.print("<p>This is the custom portlet created from MyEclipseIDE</p>");
    }

}

问题在哪里?

2 个答案:

答案 0 :(得分:2)

检查您是否未在应用程序中部署portlet-api.jar。如果将其与应用程序一起部署,可能会导致问题。

答案 1 :(得分:0)

eclipse中的portlet功能可能正在为Pluto服务器创建项目。 lib文件夹中的jar可能与Websphere Portal运行时冲突。

  1. 清空Web-INF / lib文件夹并将其拍摄。
  2. 或者您可以创建一个Dynamic Web项目并模拟正在运行的websphere portlet示例中的文件/文件夹结构
  3. 或者导入websphere门户示例portlet并根据需要进行修改。
  4. 希望这有帮助