Process of addition, then elimination: something in your shell environment
is needed.  Start adding vars into your script that are present in your
shell.  Or just define java classpath out-right - sounds like the likely
culprit.

On Tue, Oct 16, 2012 at 7:33 PM, Stan Hoeppner <s...@hardwarefreak.com>wrote:

> On 10/16/2012 9:17 PM, Neil Aggarwal wrote:
>
> > I am trying to execute a java program from postfix using
> > a pipe alias.
> >
> > When I send an email to the alias, I get this back from postfix:
> >
> > Command died with status 1:
> >     "/root/webapps/cbsweb/WEB-INF/bin/mdcm/mailHandler". Command output:
> >     Exception in thread "main" java.lang.NoClassDefFoundError:
> > mdcm/MailHandler
> >     Caused by: java.lang.ClassNotFoundException: mdcm.MailHandler  at
> >     java.net.URLClassLoader$1.run(URLClassLoader.java:217)  at
> >     java.security.AccessController.doPrivileged(Native Method)  at
> >     java.net.URLClassLoader.findClass(URLClassLoader.java:205)  at
> >     java.lang.ClassLoader.loadClass(ClassLoader.java:321)  at
> >     sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:294)  at
> >     java.lang.ClassLoader.loadClass(ClassLoader.java:266) Could not find
> the
> >     main class: mdcm.MailHandler. Program will exit.
> >
> > Obviously, it is invoking the java vm, but for some reason it is not
> finding
> > my main
> > class.
>
> Postfix doesn't run as root.
>
> > I can execute my script file from the command line and it works fine.
> >
> > Here is my alias in /etc/aliases:
> > # Forward mdcm messages to mail handler
> > mdcm:   |"/root/webapps/cbsweb/WEB-INF/bin/mdcm/mailHandler"
>
> You're running the script as root.
>
> > Any ideas?
>
> Run the script in the context of the Postfix user, assigning necessary
> permissions to the script and all related files.
>
> --
> Stan
>
>
>

Reply via email to