尝试使用javamail运行.jar文件时发生错误,由于messagesException

时间:2019-04-08 16:24:10

标签: java javamail

我正在为自己的SO编写一个小的自动响应程序,并已将电子邮件功能纳入其中,作为对我自己的a头/测试。我的源代码在netbeans中运行良好,但是当我尝试在Mac终端中运行.jar本身时,我得到了错误:无法初始化主类[类名] 引起原因:java.lang.NoClassDefFoundError:javax / mail / MessagingException 我对Java还是很陌生,因此对于该问题的任何模糊性或简单性,我深表歉意,但是如果有任何需要澄清的问题,请尽我所能

我试图通过双击并在终端中运行它来定期运行.jar,但都没有用,但是当我在netbeans中构建并运行源代码时,程序运行正常。我怀疑这可能与捕获异常行有关,但我真的不知道为什么。

try{
                    //sets variables to store custom subject and body data
                    System.out.print("Subject: ");
                    //input is name of scanner
                    String subject=input.next();
                    System.out.print("Body: ");
                    String body=input.next();                               

        Message message = new MimeMessage(session);
                    //sets sender as my email
        message.setFrom(new InternetAddress(myemail@gmail.com"));
                    //sets recipient as other email
        message.setRecipients(Message.RecipientType.TO,
            InternetAddress.parse("recipientemail@msn.com"));
                    //sets subject and content as variables defined earlier
        message.setSubject(subject);
        message.setText(body);
                    //sends message
        Transport.send(message);

        System.out.println("Done");
            //catches and throws a necessary messaging exception
    } catch (MessagingException e) {
        throw new RuntimeException(e);
    }

1 个答案:

答案 0 :(得分:0)

我认为从命令行运行jar文件的问题是您的类路径中没有java.mail,但是从IDE运行时,它将作为外部库添加到项目中。 https://docs.oracle.com/javase/8/docs/technotes/tools/windows/classpath.html 来自@ user999