簡體   English   中英

Java Jar文件從批處理文件運行時不發送電子郵件?

[英]Java Jar file not sending email when ran from a batch file?

所有,

以下代碼可以正常運行,並且在eclipse中運行時發送電子郵件。 但是,當我從eclipse導出為jar文件並從批處理文件運行以下命令時,它給了我錯誤。 注意:從批處理文件運行時,jar文件中還有其他文件可以正常工作。

java -cp C:\Users\Administrator\Email.jar LotusNotes.SendEmail

例外:

Exception in thread "main" java.lang.NoClassDefFoundError: javax/mail/MessagingE
xception
        at LotusNotes.RunBackUpSourceCopy.main(RunBackUpSourceCopy.java:49)
        Caused by: java.lang.ClassNotFoundException: javax.mail.MessagingException
        at java.net.URLClassLoader$1.run(Unknown Source)
        at java.net.URLClassLoader$1.run(Unknown Source)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(Unknown Source)
        at java.lang.ClassLoader.loadClass(Unknown Source)
        at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
        at java.lang.ClassLoader.loadClass(Unknown Source)

SendEmail類:

public class SendEmail {

public  String to ;
public  String from;
public  String host;

public SendEmail(){
       to = "xyz@gmail.com";
       from = "localhost";
       host = "localhost";}



public  void send_production_email(String reportDate){

    Properties properties = System.getProperties();
    properties.setProperty("mail.smtp.host", host);

      Session session = Session.getDefaultInstance(properties);

      try{

       MimeMessage message = new MimeMessage(session);
       message.setFrom(new InternetAddress(from));
       message.addRecipient(Message.RecipientType.TO, new InternetAddress(to));
       message.setSubject("Subject Line!");
       message.setText("Test email!");
       Transport.send(message);
       System.out.println("Sent message successfully....");
      }
      catch (MessagingException mex) {
         mex.printStackTrace();
      }

}


public static void main(String[] args) {

        System.out.println("Preparing to Send Email ...");

        SendEmail email = new SendEmail();
        email.send_production_email("test production");

}

}

看起來您需要將javax郵件jar添加到類路徑。

編輯

java -cp "C:\Users\Administrator\Email.jar";"C:\Users\Administrator\ExternalJarFiles\mail.jar"; LotusNotes.SendEmail

根據下面的評論...

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM