【问题标题】:Why does this Java Mail call fail in JDK 1.5, but succeed in 1.6?为什么这个 Java Mail 调用在 JDK 1.5 中失败,但在 1.6 中成功?
【发布时间】:2013-01-23 09:34:21
【问题描述】:

当我用 JDK 1.5 运行以下代码时,最后一行失败,但当我用 JDK 1.6 运行它时,它成功了。这是为什么呢?

代码:

Session session;
session = Session.getDefaultInstance(properties,
new javax.mail.Authenticator() {
    protected PasswordAuthentication getPasswordAuthentication() {
            return new PasswordAuthentication(username, password);
    }
});

// Create a default MimeMessage object.
MimeMessage message = new MimeMessage(session);

【问题讨论】:

  • 以什么方式失败;什么是错误或异常加上相关的堆栈跟踪,还是根本无法编译?您是否对两个 JRE 使用相同的 mail.jar 和 activation.jar 库?
  • 我实际上是在我的主机提供程序上运行它并使用 ajax 调用 servlet,所以我得到的唯一反馈是 ajax 请求上的错误 200。但我缩小了实际失败的代码行。
  • 那么你能在构造函数调用周围放置一个try/catch,然后输出Exception的堆栈跟踪吗?
  • 我确实这样做了,但它不会抓住。我把这个:catch (Exception ex) { json.put("title", "Failed!"); json.put("消息", "程序失败!"); out.print(json); }
  • 可能是Error;尝试捕获Throwable,而不是Exception,然后调用ex.printStackTrace();out.print(ex.getMessage());

标签: java jakarta-mail jdk1.6 jdk1.5


【解决方案1】:

通过就缺少激活 JAR 的 cmets 提出问题得出结论。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-10-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-11-28
    • 1970-01-01
    • 2013-05-26
    相关资源
    最近更新 更多