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]