Hi!

I made this Hello-World portlet (example from portlet tutorial):

-------------------------------
package emu.test.jetspeed;

import org.apache.jetspeed.portal.portlets.AbstractPortlet;
import org.apache.turbine.util.RunData;
import org.apache.ecs.*;

public class HelloWorldPortlet extends AbstractPortlet {
    public ConcreteElement getContent (RunData aRunData) {
        return (new StringElement("Hello World!"));
    }
}
-------------------------------

It compiles ok. I created a .jar file and put it in
jetspeed/WEB-INF/lib/ dir. Then I added it to the jetspeed-config.jcfg
file:

-------------------------------
..
  <portlet-entry type="instance" name="HelloWorld" >
      <classname>emu.test.jetspeed.HelloWorldPortlet</classname>
            <meta-info>
                <title>Hello World Portlet</title>
                <description>xxxxx</description>
            </meta-info>
 </portlet-entry>
..
-------------------------------

Tomcat (3.2.2) and Jetspeed are both running ok. When I log in as user
"turbine" and enter customization, I can choose the Hello World-Portlet,
but it does not appear on the portal. Looking at the jetspeed.log I
found this:

-------------------------------
..
[Wed Aug 01 13:54:14 GMT+02:00 2001] -- NOTICE  -- cache miss, object
expired:  Portlet - emu.test.jetspeed.HelloWorldPortlet - null
[Wed Aug 01 13:54:14 GMT+02:00 2001] -- NOTICE  -- cache miss:  Portlet
- emu.test.jetspeed.HelloWorldPortlet - null
[Wed Aug 01 13:54:14 GMT+02:00 2001] --  ERROR  --
 Exception:  java.lang.NoClassDefFoundError:
org/apache/jetspeed/portal/portlets/AbstractPortlet
 Stack Trace follows:
 java.lang.NoClassDefFoundError:
org/apache/jetspeed/portal/portlets/AbstractPortlet
 at java.lang.ClassLoader.defineClass0(Native Method)
 at java.lang.ClassLoader.defineClass(ClassLoader.java:486)
 at
java.security.SecureClassLoader.defineClass(SecureClassLoader.java:111)
 at java.net.URLClassLoader.defineClass(URLClassLoader.java:248)
 at java.net.URLClassLoader.access$100(URLClassLoader.java:56)
 at java.net.URLClassLoader$1.run(URLClassLoader.java:195)
 at java.security.AccessController.doPrivileged(Native Method)
 at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
 at java.lang.ClassLoader.loadClass(ClassLoader.java:297)
 at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:286)
 at java.lang.ClassLoader.loadClass(ClassLoader.java:253)
 at
org.apache.tomcat.loader.AdaptiveClassLoader.loadClass(AdaptiveClassLoader.java:446)

 at java.lang.ClassLoader.loadClass(ClassLoader.java:253)
 at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:313)
 at java.lang.Class.forName0(Native Method)
 at java.lang.Class.forName(Class.java:120)
 at
org.apache.jetspeed.portal.factory.PortletFactory.getPortlet(PortletFactory.java:411)

 at
org.apache.jetspeed.portal.factory.PortletFactory.getPortlet(PortletFactory.java:124)

 at
org.apache.jetspeed.portal.factory.PortletSetFactory.getPortletSet(PortletSetFactory.java:373)

 at
org.apache.jetspeed.portal.factory.PortletSetFactory.getPortletSet(PortletSetFactory.java:339)

 at
org.apache.jetspeed.portal.factory.PortletSetFactory.getPortletSet(PortletSetFactory.java:299)

 at
org.apache.jetspeed.portal.factory.PortletSetFactory.getPortletSet(PortletSetFactory.java:272)

 at
org.apache.jetspeed.modules.screens.Home.getPSMLContent(Home.java:178)
 at org.apache.jetspeed.modules.screens.Home.doBuild(Home.java:136)
 at org.apache.turbine.modules.Screen.build(Screen.java:100)
 at org.apache.turbine.modules.ScreenLoader.eval(ScreenLoader.java:125)
 at
org.apache.jetspeed.modules.layouts.JetspeedJspLayout.doBuild(JetspeedJspLayout.java:103)

 at org.apache.turbine.modules.Layout.build(Layout.java:93)
 at org.apache.turbine.modules.LayoutLoader.exec(LayoutLoader.java:122)
 at
org.apache.turbine.modules.pages.DefaultPage.doBuild(DefaultPage.java:170)

 at org.apache.turbine.modules.Page.build(Page.java:92)
 at org.apache.turbine.modules.PageLoader.exec(PageLoader.java:122)
 at org.apache.turbine.Turbine.doGet(Turbine.java:364)
 at org.apache.turbine.Turbine.doPost(Turbine.java:451)
 at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
 at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
 at
org.apache.tomcat.core.ServletWrapper.doService(ServletWrapper.java:405)

 at org.apache.tomcat.core.Handler.service(Handler.java:287)
 at
org.apache.tomcat.core.ServletWrapper.service(ServletWrapper.java:372)
 at
org.apache.tomcat.core.ContextManager.internalService(ContextManager.java:797)

 at
org.apache.tomcat.core.ContextManager.service(ContextManager.java:743)
 at
org.apache.tomcat.service.http.HttpConnectionHandler.processConnection(HttpConnectionHandler.java:213)

 at
org.apache.tomcat.service.TcpWorkerThread.runIt(PoolTcpEndpoint.java:416)

 at
org.apache.tomcat.util.ThreadPool$ControlRunnable.run(ThreadPool.java:501)

 at java.lang.Thread.run(Thread.java:484)
[Wed Aug 01 13:54:14 GMT+02:00 2001] --  ERROR  --
 Exception:  org.apache.jetspeed.portal.PortletException:
org/apache/jetspeed/portal/portlets/AbstractPortlet
 Stack Trace follows:
 org.apache.jetspeed.portal.PortletException:
org/apache/jetspeed/portal/portlets/AbstractPortlet
 at
org.apache.jetspeed.portal.factory.PortletFactory.getPortlet(PortletFactory.java:415)

 at
org.apache.jetspeed.portal.factory.PortletFactory.getPortlet(PortletFactory.java:124)

 at
org.apache.jetspeed.portal.factory.PortletSetFactory.getPortletSet(PortletSetFactory.java:373)

 at
org.apache.jetspeed.portal.factory.PortletSetFactory.getPortletSet(PortletSetFactory.java:339)

 at
org.apache.jetspeed.portal.factory.PortletSetFactory.getPortletSet(PortletSetFactory.java:299)

 at
org.apache.jetspeed.portal.factory.PortletSetFactory.getPortletSet(PortletSetFactory.java:272)

 at
org.apache.jetspeed.modules.screens.Home.getPSMLContent(Home.java:178)
 at org.apache.jetspeed.modules.screens.Home.doBuild(Home.java:136)
 at org.apache.turbine.modules.Screen.build(Screen.java:100)
 at org.apache.turbine.modules.ScreenLoader.eval(ScreenLoader.java:125)
 at
org.apache.jetspeed.modules.layouts.JetspeedJspLayout.doBuild(JetspeedJspLayout.java:103)

 at org.apache.turbine.modules.Layout.build(Layout.java:93)
 at org.apache.turbine.modules.LayoutLoader.exec(LayoutLoader.java:122)
 at
org.apache.turbine.modules.pages.DefaultPage.doBuild(DefaultPage.java:170)

 at org.apache.turbine.modules.Page.build(Page.java:92)
 at org.apache.turbine.modules.PageLoader.exec(PageLoader.java:122)
 at org.apache.turbine.Turbine.doGet(Turbine.java:364)
 at org.apache.turbine.Turbine.doPost(Turbine.java:451)
 at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
 at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
 at
org.apache.tomcat.core.ServletWrapper.doService(ServletWrapper.java:405)

 at org.apache.tomcat.core.Handler.service(Handler.java:287)
 at
org.apache.tomcat.core.ServletWrapper.service(ServletWrapper.java:372)
 at
org.apache.tomcat.core.ContextManager.internalService(ContextManager.java:797)

 at
org.apache.tomcat.core.ContextManager.service(ContextManager.java:743)
 at
org.apache.tomcat.service.http.HttpConnectionHandler.processConnection(HttpConnectionHandler.java:213)

 at
org.apache.tomcat.service.TcpWorkerThread.runIt(PoolTcpEndpoint.java:416)

 at
org.apache.tomcat.util.ThreadPool$ControlRunnable.run(ThreadPool.java:501)

 at java.lang.Thread.run(Thread.java:484)
..
-------------------------------

The other portlets work ok. Does anybody know why the
AbstractPortlet-class won't be found? I even tried putting my portlet
into jetspeed-1.3a1.jar (to have my portlet and AbstractPortlet in the
same file), but that didn't change anything.

 Edmund


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to