Difference Netbeans - Eclipse



我试图实现 Kirit Vaghelathat 的帖子,我在 Netbeans 项目中的"使用 java 发送电子邮件"下找到该帖子,但它一直失败:

"调试 SMTP:尝试连接到主机"smtp.mail.yahoo.com",端口 465,isSSL 假 调试 SMTP:异常读取响应:javax.net.ssl.SSLHandshake异常:sun.security.validator.Validator异常:PKIX 路径构建失败:sun.security.provider.certpath.SunCertPathBuilder异常:找不到所请求目标的有效证书路径 哎呀,有些东西变了梨形,试图发送电子邮件!

我在Eclipse中尝试了完全相同的方法,并且在那里工作。

我能看到的唯一区别是在 Eclipse 中,我将其作为独立类运行:

public class hellotest extends Object{ 
   public static void main(String[] args) { 
//code

在 Netbeans 中,它是一个更大项目的一部分,它将从另一个类调用:

public class SendEmail extends Object{
    public void sendEmail(){
//code

谁能向我解释我在 Netbeans 中做错了什么?

添加于 22 Jan 2015 :

我对Netbeans必须查找其库的位置进行了一些较小的更改(如Oracle javaMail API FAQ中所建议的那样),但没有结果。调试消息更改如下:

DEBUG: JavaMail version 1.5.2
DEBUG: successfully loaded resource: /META-INF/javamail.default.providers
DEBUG: Tables of loaded providers
DEBUG: Providers Listed By Class Name: {com.sun.mail.smtp.SMTPSSLTransport=javax.mail.Provider[TRANSPORT,smtps,com.sun.mail.smtp.SMTPSSLTransport,Oracle], com.sun.mail.smtp.SMTPTransport=javax.mail.Provider[TRANSPORT,smtp,com.sun.mail.smtp.SMTPTransport,Oracle], com.sun.mail.imap.IMAPSSLStore=javax.mail.Provider[STORE,imaps,com.sun.mail.imap.IMAPSSLStore,Oracle], com.sun.mail.pop3.POP3SSLStore=javax.mail.Provider[STORE,pop3s,com.sun.mail.pop3.POP3SSLStore,Oracle], com.sun.mail.imap.IMAPStore=javax.mail.Provider[STORE,imap,com.sun.mail.imap.IMAPStore,Oracle], com.sun.mail.pop3.POP3Store=javax.mail.Provider[STORE,pop3,com.sun.mail.pop3.POP3Store,Oracle]}
DEBUG: Providers Listed By Protocol: {imaps=javax.mail.Provider[STORE,imaps,com.sun.mail.imap.IMAPSSLStore,Oracle], imap=javax.mail.Provider[STORE,imap,com.sun.mail.imap.IMAPStore,Oracle], smtps=javax.mail.Provider[TRANSPORT,smtps,com.sun.mail.smtp.SMTPSSLTransport,Oracle], pop3=javax.mail.Provider[STORE,pop3,com.sun.mail.pop3.POP3Store,Oracle], pop3s=javax.mail.Provider[STORE,pop3s,com.sun.mail.pop3.POP3SSLStore,Oracle], smtp=javax.mail.Provider[TRANSPORT,smtp,com.sun.mail.smtp.SMTPTransport,Oracle]}
DEBUG: successfully loaded resource: /META-INF/javamail.default.address.map
DEBUG: setDebug: JavaMail version 1.5.2
6
DEBUG: getProvider() returning javax.mail.Provider[TRANSPORT,smtp,com.sun.mail.smtp.SMTPTransport,Oracle]
DEBUG SMTP: need username and password for authentication
DEBUG SMTP: useEhlo true, useAuth true
DEBUG SMTP: trying to connect to host "smtp.mail.yahoo.com", port 465, isSSL false
Oops something has gone pearshaped, tried to send an e-mail !

在Eclipse中它仍然在工作,我比较了每个单词的代码,它是相同的。

感谢您在评论中回复。

这是安全问题。

比较 JRE/JDK 安全文件夹的内容。在我的系统中,路径是:

JRE

"c:\Program Files\Java\jdk1.7.0_67\jre\lib\security"

京东

"c:\Program Files (x86)\Java\jre1.8.0_25\lib\security"

版本并不重要。

请记住,您的 JRE 中的内容是正确的 = 为您工作......

最新更新