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