| Mail failing in build.xml file | Mail failing in build.xml file 2007-06-12 - By peter reilly
On 6/11/07, David Weintraub <qazwart@(protected)> wrote: > I have a very straight forward build.xml file: > > <project name="test" default="test" basedir="."> > <target name="test"> > <mail > from="dweintraub@(protected)" > 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@(protected)"/> > </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@(protected) For additional commands, e-mail: user-help@(protected)
|
|
 |