ant-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Peter Reilly" <peter.kitt.rei...@gmail.com>
Subject Re: Mail failing in build.xml file
Date Tue, 12 Jun 2007 16:07:03 GMT
On 6/11/07, David Weintraub <qazwart@gmail.com> wrote:
> I have a very straight forward build.xml file:
>
> <project name="test" default="test" basedir=".">
>     <target name="test">
>         <mail
>             from="dweintraub@solbright.com"
>             subject="Test Email"
>             mailhost="192.168.128.100"
>             user="dweintraub"
>             password="xxxxxxxx"
>             message="This is a test email"
>             failonerror="true">
>             <to name="David Weintraub"
>                 address="dweintraub@solbright.com"/>
>         </mail>
>     </target>
> </project>
>
> When I attempt to execute it, I get the following error message:
>
> test:
>      [mail] Failed to initialise MIME mail: javax/mail/MessagingException
>
> BUILD SUCCESSFUL
>
>
--- Looking at the source code:
src/main/org/apache/tools/ant/taskdefs/email/EmailTask
> Which is strange because I set "failonerror" to "true".
This is a bug.
The code does not check the failonerror flag here and simply returns.
>> [mail] Failed to initialise MIME mail: javax/mail/MessagingException
This is due to "helpful" code in EmailTask,  a buildexception is
thrown by classloader utilities -
"Class org.apache.tools.ant.taskdefs.email.MimeMailer could not be
loaded because of an invalid dependency." with a cause exception:
 Caused by: java.lang.ClassNotFoundException: javax.mail.MessagingException
however EmailTask#logBuildException() only reports
the message in the cause by exception (javax.mail.MessagingException).

The root cause that can give this exception is a missing
javamail[anyversion].jar file.

you seem to be having problems getting the javamail.jar into
the right place (whatever ANT_HOME/lib that is used by
cruise control ?). Try at the command line.
(NOTE: for linux users, if you installed the jpackage version
of ant, the file /etc/ant.conf will override ANT_HOME for pre ant 1.7.0).

In the mean time, you can use the excellent classloader task
to add the javamail.jar to your project classloader:
from http://enitsys.sourceforge.net/ant-classloadertask/
   <typedef uri="antlib:net.jtools.classloadertask"
            resource="net/jtools/classloadertask/antlib.xml">
     <classpath>
       <fileset
         dir="${user.home}/tools/ant-classloader"
              includes="*.jar"/>
     </classpath>
   </typedef>


   <cl:classloader loader="project">
     <classpath>
       <fileset dir="${user.home}/tools/javamail/" includes="*.jar"/>
     </classpath>
   </cl:classloader>

   <mail ...>

Peter

>
> Any ideas? I am currently sending mail via CruiseControl and that
> works (and where I got the parameters from) so I know that it is
> possible to send email from this machine.

---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscribe@ant.apache.org
For additional commands, e-mail: user-help@ant.apache.org


Mime
View raw message