<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
<html>
 
<br>After adding the directory where my own classes subside to the repositories
list in the <tt>zone.properties</tt> file, everything worked fine.
<p>This information is not present in any manual! Also the <tt>config/install.txt</tt>
does not mention this.
<p>Consise:
<br>Add to your <tt>zone.properties</tt> file:
<p>    <tt>repositories=(your servlet path)</tt>
<p>to be able to use classes from there.
<p>Jeroen
<br>P.S. I had expected an answer to this question, from either this list
or the OpenCMS developers to which I also sent two messages.
<br>P.P.S. Adjusting your <tt>CLASSPATH </tt>environment variable or <tt>wrapper.classpath</tt>
does not help, since OpenCMS uses a different classloader.
<p>Jeroen Habets wrote:
<blockquote TYPE=CITE>Hi,
<p>I want to add functionality to OpenCMS 4.1.47 and wrote the class Test:
<p><tt>package testpak;</tt>
<p><tt>import com.opencms.template.*;</tt>
<br><tt>import com.opencms.file.*;</tt>
<br><tt>import com.opencms.core.*;</tt>
<p><tt>public class Test extends CmsXmlTemplate {</tt>
<p><tt>  public Object getHello(CmsObject cms,</tt>
<br><tt>    String tagcontent,</tt>
<br><tt>    A_CmsXmlContent doc,</tt>
<br><tt>    Object userObject) throws CmsException {</tt>
<br><tt>    return "Hello from java!";</tt>
<br><tt>  }</tt>
<br><tt>}</tt>
<p>with the class file saved as xxx/servlets/testpak/Test.class
<p>and template file:
<p><tt><?xml version="1.0" encoding="ISO-8859-1"?></tt>
<br><tt><page></tt>
<br><tt>    <CLASS>com.opencms.template.CmsXmlTemplate</CLASS></tt>
<br><tt>    <MASTERTEMPLATE>/content/templates/empty</MASTERTEMPLATE></tt>
<br><tt>    <ELEMENTDEF name="body"></tt>
<br><tt>        <CLASS>testpak.Test</CLASS></tt>
<br><tt>        <TEMPLATE>/content/bodys/test.html</TEMPLATE></tt>
<br><tt>    </ELEMENTDEF></tt>
<br><tt></page></tt>
<p>I get the error:
<p><tt>java.lang.NoClassDefFoundError: com/opencms/template/CmsXmlTemplate</tt>
<br><tt>        at org.apache.jserv.JServConnection.processRequest(JServConnection.java:323)</tt>
<br><tt>        at org.apache.jserv.JServConnection.run(JServConnection.java:188)</tt>
<br><tt>        at java.lang.Thread.run(Thread.java:498)</tt>
<p>Help me, please!
<br>Jeroen</blockquote>
</html>