I overcome this by putting my mailet classes on the classpath before starting
James.




Federico Barbieri <[EMAIL PROTECTED]> on 01/11/2001 04:50:31 PM

Please respond to "Java Apache Mail Server" <[EMAIL PROTECTED]>

To:   Khurshidali Shaikh <[EMAIL PROTECTED]>, Java Apache Mail Server
      <[EMAIL PROTECTED]>
cc:    (bcc: Natalie Ng/Ironside)

Subject:  Re: Need help on JAMES



Khurshidali Shaikh wrote:
>
> Hi,
> I downloaded JAMES 1.2 from the apache site.
> The installation was successfull but when i made a test mailet and
> tried to install by writing the following code in the JAMES.conf.xml
>        <mailet match="SubjectIs=Hello" class="TestMailet">
>                  </mailet>
> TestMailet is the the class i have creatred which extends the
> GenericMailet class.
>
> When i tried to start the JAMES server first it gave me mailet not found
> error. then i added the package name of my class
> <mailetpackage>com.met.</mailetpackage>. I didn't remove the already
> existing mailetpackage which points to org.apache.james.transport.mailets.
> Now when i try to start the server it gives the following error
>
> Main: org/apache/mailet/GenericMailet
> java.lang.NoClassDefFoundError: org/apache/mailet/GenericMailet
>         at java.lang.ClassLoader.defineClass0(Native Method)
>         at java.lang.ClassLoader.defineClass(ClassLoader.java:474)
>         at
> java.security.SecureClassLoader.defineClass(SecureClassLoader.java:106)
>         at java.net.URLClassLoader.defineClass(URLClassLoader.java:247)
>         at java.net.URLClassLoader.access$1(URLClassLoader.java:215)
>         at java.net.URLClassLoader$1.run(URLClassLoader.java:196)
>         at java.security.AccessController.doPrivileged(Native Method)
>         at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
>         at java.lang.ClassLoader.loadClass(ClassLoader.java:295)
>         at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:282)
>         at java.lang.ClassLoader.loadClass(ClassLoader.java:288)
>         at
>
org.apache.avalon.loader.AvalonClassLoader.loadClass(AvalonClassLoader.java:57)
>         at
>
org.apache.avalon.loader.AvalonClassLoader.loadClass(AvalonClassLoader.java:45)
>         at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:311)
>         at java.lang.Class.forName0(Native Method)
>         at java.lang.Class.forName(Class.java:120)
>         at
> org.apache.james.transport.MailetLoader.getMailet(MailetLoader.java:49)
>         at
> org.apache.james.transport.JamesSpoolManager.init(JamesSpoolManager.java:100)
>         at org.apache.james.James.init(James.java:240)
>         at org.apache.avalon.engine.Avalon.initBlock(Avalon.java:144)
>
> I tried many places including apache.org but could not find any help on
> this.
>
> Pl.  help me how overcome this.
>

this looks like a bug... I'll post it to the mailing list. From what I
see it looks like your mailet is loaded by a different classloader that
james itself (since probally it's outside the jar) so that the
classloader loading your mailet doesn't "see" the GenericMailet class.

Try to jar your mailet in the james jar.

Federico Barbieri
<[EMAIL PROTECTED]>


------------------------------------------------------------
To subscribe:        [EMAIL PROTECTED]
To unsubscribe:      [EMAIL PROTECTED]
Archives:  <http://www.mail-archive.com/james%40list.working-dogs.com/>
Problems?:           [EMAIL PROTECTED]









------------------------------------------------------------
To subscribe:        [EMAIL PROTECTED]
To unsubscribe:      [EMAIL PROTECTED]
Archives:  <http://www.mail-archive.com/james%40list.working-dogs.com/>
Problems?:           [EMAIL PROTECTED]

Reply via email to