首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2EE开发 >

JAVA发送邮件时,类明明存在,却报classnotfound错误

2013-09-06 
JAVA发送邮件时,类明明存在,却报classnotfound异常用JAVA发送邮件时,由于要用到TLS,就要注册ssl.SocketFac

JAVA发送邮件时,类明明存在,却报classnotfound异常
用JAVA发送邮件时,由于要用到TLS,就要注册ssl.SocketFactory.provider,但是居然发生classnotfound异常。代码如下:
java.security.Security.setProperty("ssl.SocketFactory.provider",
"com.hollycrm.service.ticket.util.DNESSLSocketFactory");


异常信息:

org.springframework.mail.MailSendException: Mail server connection failed; nested exception is javax.mail.MessagingException: Could not convert socket to TLS
javax.mail.MessagingException: Could not convert socket to TLS;
  nested exception is:
java.net.SocketException: java.lang.ClassNotFoundException: com.hollycrm.service.ticket.util.DNESSLSocketFactory

奇怪的是,这个类明明存在,路径也没错:
package com.hollycrm.service.ticket.util;

import java.io.IOException;
import java.net.InetAddress;
import java.net.Socket;
import javax.net.SocketFactory;
import javax.net.ssl.*;
public class DNESSLSocketFactory  extends SSLSocketFactory  {

class文件也有DNESSLSocketFactory.class

不知道大家有没有遇到过类似的情况,请大家帮忙分析一下,小弟万分感谢! Java 邮件 找不到类
[解决办法]

import java.net.URLClassLoader;
import java.util.Arrays;

public class ClasspathDumper
{
    public static void main(String... args)
    {
        dumpClasspath(ClasspathDumper.class.getClassLoader());
    }

    public static void dumpClasspath(ClassLoader loader)
    {
        System.out.println("Classloader " + loader + ":");

        if (loader instanceof URLClassLoader)
        {
            URLClassLoader ucl = (URLClassLoader)loader;
            System.out.println("\t" + Arrays.toString(ucl.getURLs()));


        }
        else
            System.out.println("\t(cannot display components as not a URLClassLoader)");

        if (loader.getParent() != null)
            dumpClasspath(loader.getParent());
    }
}


[解决办法]
我记得我写过用java发送邮件的东西,好像有有个包和java自带的包冲突了,要删掉一个,具体是哪个我也不记得了,你网上查下。

热点排行