Java Mailing List Archive

http://www.ant-tasks.com/

Apache Ant Archive

» Ant Users List
» Ant Developers List
Mail failing in build.xml file

Mail failing in build.xml file

2007-06-12       - By peter reilly
Reply:     1     2     3     4     5     6     7     8     9     10  

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)


©2008 ant-tasks.com - Jax Systems, LLC, U.S.A.