You are viewing a plain text version of this content. The canonical link for it is here.
Posted to jetspeed-user@portals.apache.org by Pham Tuan Minh <mi...@yahoo.com> on 2005/12/14 12:31:18 UTC

jetspeed2 - Error "Cannot create Portlet instance" ?

Hi all,
I use Jetspeed Simple Portlet Guide at http://portals.apache.org/jetspeed-2/guides/guide-simple-portlet.html 
to deploy a simple portlet.

Have a error message:
     Cannot create Portlet instance Simplest for Portlet Application simplest

I see the log file webapps\jetspeed\logs\jetspeed.log

java.lang.ClassCastException: Simplest
    at org.apache.jetspeed.factory.JetspeedPortletFactory.getPortletInstance(JetspeedPortletFactory.java:204)
    at org.apache.jetspeed.container.invoker.ServletPortletInvoker.invoke(ServletPortletInvoker.java:189)
    at org.apache.jetspeed.container.invoker.ServletPortletInvoker.render(ServletPortletInvoker.java:125)
    at org.apache.pluto.PortletContainerImpl.renderPortlet(PortletContainerImpl.java:119)
.....
2005-12-14 15:55:51,515 [http-8080-Processor25] ERROR  org.apache.jetspeed.aggregator.impl.RenderingJobImpl - Error rendering portlet OID simplest-1
javax.portlet.UnavailableException: Cannot create Portlet instance com.test.Simplest for Portlet Application simplest
    at org.apache.jetspeed.factory.JetspeedPortletFactory.getPortletInstance(JetspeedPortletFactory.java:215)
    at org.apache.jetspeed.container.invoker.ServletPortletInvoker.invoke(ServletPortletInvoker.java:189)
    at org.apache.jetspeed.container.invoker.ServletPortletInvoker.render(ServletPortletInvoker.java:125)

Can you help me ?
__________________________________
- Here is the contents of porlet.xml
<?xml version="1.0" encoding="UTF-8"?>
<portlet-app id="simplest" version="1.0">
  <portlet id="Simplest">
    <portlet-name>Simplest</portlet-name>
    <display-name>Simple  Display Name</display-name>
    <portlet-class>Simplest</portlet-class>
    <supports>
      <mime-type>text/html</mime-type>
      <portlet-mode>VIEW</portlet-mode>
    </supports>
    <supported-locale>en</supported-locale>
    <portlet-info>
      <title>Simple Title</title>
      <short-title>The world's simplest portlet</short-title>
    </portlet-info>
  </portlet>
</portlet-app>

- Here is the contents of web.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"  "http://java.sun.com/dtd/web-app_2_3.dtd">

<web-app>
  <display-name>Simplest</display-name>
  <description>The world's simplest portlet</description>
  <servlet>
    <servlet-name>JetspeedContainer</servlet-name>
    <display-name>Jetspeed Container</display-name>
    <description>MVC Servlet for Jetspeed Portlet Applications</description>
    <servlet-class>org.apache.jetspeed.container.JetspeedContainerServlet</servlet-class>
    <init-param>
      <param-name>contextName</param-name>
      <param-value>simplest</param-value>
    </init-param>
    <load-on-startup>0</load-on-startup>
  </servlet>
   <servlet-mapping>
    <servlet-name>JetspeedContainer</servlet-name>
    <url-pattern>/container/*</url-pattern>
  </servlet-mapping>
  <taglib>
    <taglib-uri>http://java.sun.com/portlet</taglib-uri>
    <taglib-location>/WEB-INF/tld/portlet.tld</taglib-location>
  </taglib>
</web-app>

- Simplest.java

public class Simplest extends javax.portlet.GenericPortlet
{
    public void doView(javax.portlet.RenderRequest request, javax.portlet.RenderResponse response)
                throws javax.portlet.PortletException, java.io.IOException
    {
            response.setContentType("text/html");
            response.getWriter().println("A very simple portlet.");
    }
}
 
- Here is my directory  structure
simplest |--> META-INF: MANIFEST.FM
              |--> WEB-INF |--> classes: Simplest.class
                                   |--> lib : portlet-api-1.0.jar
                                   |--> tld: portlet.tld
                                   |--> portlet.xml, web.xml

			
---------------------------------
Yahoo! Shopping
 Find Great Deals on Holiday Gifts at Yahoo! Shopping