2013-04-15 157 views
1

下面是測試完成後運行的目標之一buil.xml(通過或失敗)。該目標失敗並給出錯誤「java.lang.ClassNotFoundException:javax.mail.internet.MimeMessage」。所以我擴展了mail.1.4.jar文件,看到這個類在那裏。所以接下來我檢查了這個jar是否存在於我的setclasspath目標中,並且它在那裏。第三件事我檢查了mail.1.4.jar是否包含在螞蟻的路徑中,它在那裏。現在我無法理解爲什麼我得到這個錯誤。Build.xml無法發送電子郵件,給出「java.lang.ClassNotFoundException:javax.mail.internet.MimeMessage」錯誤

<target name="sendmail"> 
    <mail from="[[email protected]]" 
    subject="Test Email" mailhost="smpt.gmail.com" 
    user="myusername" password="mypassword" message="This is a test email"> 
     <to name="receivers name" address="[[email protected]]" /> 
    </mail> 
</target> 
+0

smpt.gmail.com應該是smtp.gmail.com –

回答

0

在類路徑和相關傳遞依賴項中添加mail.jar。

好的嘗試以下方法,首先在你的Ant安裝,$ {ANT_HOME}/lib目錄檢查下列罐子存在,螞蟻JavaMail的,如果不是:

您可以在這裏找到如下:http://mvnrepository.com/artifact/org.apache.ant/ant-javamail

根據你的ant版本選擇正確的一個。

將此jar複製到ant的lib目錄中。並嘗試重新運行該任務。

讓我們知道它是否解決。

命令來運行

ant -f %ANT_HOME%/fetch.xml -Ddest=user -Dm2.url=repo1.maven.org/maven2 
+0

試過了,同樣的錯誤。還有另外一種使用** ant -logger org.apache.tools.ant.listener.MailLogger **的方法,請問,請指導我如何使用它。 – user2172723

+0

我將檢查並取回發佈一個最小的build.xml,所以我們可以teston相同 –

+0

看到我更新的答案。 –

0

我之前接到了第一線的類似錯誤。您可能希望將mail.jar和activation.jar下載到您的ant庫文件夾下,並在執行構建時確保使用 「ant -lib」和lib文件夾的路徑。

1

如果Ant提供「java.lang.ClassNotFoundException:javax.mail.internet.MimeMessage」錯誤,則表示缺少一個jar。

轉到findjar網站:http://www.findjar.com/,並通過搜索「javax.mail.internet.MimeMessage」找到相應的jar。你會發現它是mail.jar。

然後下載從中央Maven倉庫的jar文件:https://mvnrepository.com/artifact/javax.mail/mail,例如,版本郵件1.4.7.jar,並把它在Ant lib目錄:$ {ANT_HOME}/lib目錄

應工作。