用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邮件找不到类

解决方案 »

  1.   

    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());
        }
    }
      

  2.   

    运行你写的那段代码之后,控制台打出了:
    Classloader sun.misc.Launcher$AppClassLoader@addbf1:
    [file:/E:/workspace6.0/hollycc_icis/webapp/WEB-INF/classes/, file:/E:/workspace6.0/hollycc_icis/webapp/WEB-INF/lib/activation-1.1.jar, file:/E:/workspace6.0/hollycc_icis/webapp/WEB-INF/lib/analyzers-dev.jar, file:/E:/workspace6.0/hollycc_icis/webapp/WEB-INF/lib/annogen-0.1.0.jar, file:/E:/workspace6.0/hollycc_icis/webapp/WEB-INF/lib/antlr-2.7.2.jar, file:/E:/workspace6.0/hollycc_icis/webapp/WEB-INF/lib/asm-1.4.3.jar, file:/E:/workspace6.0/hollycc_icis/webapp/WEB-INF/lib/axiom-api-1.2.8.jar, file:/E:/workspace6.0/hollycc_icis/webapp/WEB-INF/lib/axiom-dom-1.2.8.jar, file:/E:/workspace6.0/hollycc_icis/webapp/WEB-INF/lib/axiom-impl-1.2.8.jar, file:/E:/workspace6.0/hollycc_icis/webapp/WEB-INF/lib/axis.jar, file:/E:/workspace6.0/hollycc_icis/webapp/WEB-INF/lib/axis-1.4.jar, file:/E:/workspace6.0/hollycc_icis/webapp/WEB-INF/lib/axis2-1.4.1.jar, file:/E:/workspace6.0/hollycc_icis/webapp/WEB-INF/lib/axis2-adb-1.5.1.jar, file:/E:/workspace6.0/hollycc_icis/webapp/WEB-INF/lib/axis2-adb-codegen-1.5.1.jar, file:/E:/workspace6.0/hollycc_icis/webapp/WEB-INF/lib/axis2-ant-plugin-1.5.1.jar, file:/E:/workspace6.0/hollycc_icis/webapp/WEB-INF/lib/axis2-clustering-1.5.1.jar, file:/E:/workspace6.0/hollycc_icis/webapp/WEB-INF/lib/axis2-codegen-1.5.1.jar, file:/E:/workspace6.0/hollycc_icis/webapp/WEB-INF/lib/axis2-corba-1.5.1.jar, file:/E:/workspace6.0/hollycc_icis/webapp/WEB-INF/lib/axis2-fastinfoset-1.5.1.jar, file:/E:/workspace6.0/hollycc_icis/webapp/WEB-INF/lib/axis2-java2wsdl-1.5.1.jar, file:/E:/workspace6.0/hollycc_icis/webapp/WEB-INF/lib/axis2-jaxbri-1.5.1.jar, file:/E:/workspace6.0/hollycc_icis/webapp/WEB-INF/lib/axis2-jaxws-1.5.1.jar, file:/E:/workspace6.0/hollycc_icis/webapp/WEB-INF/lib/axis2-jaxws-api-1.4.1.jar, file:/E:/workspace6.0/hollycc_icis/webapp/WEB-INF/lib/axis2-jibx-1.5.1.jar, file:/E:/workspace6.0/hollycc_icis/webapp/WEB-INF/lib/axis2-json-1.5.1.jar, file:/E:/workspace6.0/hollycc_icis/webapp/WEB-INF/lib/axis2-jws-api-1.4.1.jar, file:/E:/workspace6.0/hollycc_icis/webapp/WEB-INF/lib/axis2-kernel-1.5.1.jar, file:/E:/workspace6.0/hollycc_icis/webapp/WEB-INF/lib/axis2-metadata-1.5.1.jar, file:/E:/workspace6.0/hollycc_icis/webapp/WEB-INF/lib/axis2-mtompolicy-1.5.1.jar, file:/E:/workspace6.0/hollycc_icis/webapp/WEB-INF/lib/axis2-saaj-1.5.1.jar, file:/E:/workspace6.0/hollycc_icis/webapp/WEB-INF/lib/axis2-saaj-api-1.4.1.jar, file:/E:/workspace6.0/hollycc_icis/webapp/WEB-INF/lib/axis2-spring-1.5.1.jar, file:/E:/workspace6.0/hollycc_icis/webapp/WEB-INF/lib/axis2-transport-http-1.5.1.jar, file:/E:/workspace6.0/hollycc_icis/webapp/WEB-INF/lib/axis2-transport-local-1.5.1.jar, file:/E:/workspace6.0/hollycc_icis/webapp/WEB-INF/lib/axis2-xmlbeans-1.5.1.jar, file:/E:/workspace6.0/hollycc_icis/webapp/WEB-INF/lib/axis-ant.jar, file:/E:/workspace6.0/hollycc_icis/webapp/WEB-INF/lib/axis-saaj-1.4.jar, file:/E:/workspace6.0/hollycc_icis/webapp/WEB-INF/lib/backport-util-concurrent-3.1.jar, file:/E:/workspace6.0/hollycc_icis/webapp/WEB-INF/lib/batik-awt-util.jar, file:/E:/workspace6.0/hollycc_icis/webapp/WEB-INF/lib/batik-dom.jar, file:/E:/workspace6.0/hollycc_icis/webapp/WEB-INF/lib/batik-svggen.jar, file:/E:/workspace6.0/hollycc_icis/webapp/WEB-INF/lib/batik-util.jar, file:/E:/workspace6.0/hollycc_icis/webapp/WEB-INF/lib/batik-xml.jar, file:/E:/workspace6.0/hollycc_icis/webapp/WEB-INF/lib/bcel-5.1.jar, file:/E:/workspace6.0/hollycc_icis/webapp/WEB-INF/lib/bootstrapconnector.jar, file:/E:/workspace6.0/hollycc_icis/webapp/WEB-INF/lib/bsh-2.0b4.jar, 等等很多东西这个是为了验证什么吗?
      

  3.   

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

  4.   


    是mail-1.4.jar吗?这个jar包冲突我删过了。
      

  5.   

    找到原因了,虽然不是大家说的原因,但还是谢谢大家!原因是java.security.Security.setProperty这个方法的问题,换成props.put('','')就不会这样了