使用 mail.jar 发送电子邮件时出现 java.lang.NoClassDefFoundError: javax/net/SocketFactory
我的jsf Web应用程序使用mail.jar和activation.jar发送电子邮件,这些和其他依赖的jar都在CLASSPATH中,(应用程序在tomcat中运行) 但是我得到了以下异常,
java.lang.NoClassDefFoundError: javax/net/SocketFactory
java.lang.ClassLoader.findBootstrapClass(Native Method)
java.lang.ClassLoader.findBootstrapClass0(ClassLoader.java:892)
java.lang.ClassLoader.loadClass(ClassLoader.java:302)
java.lang.ClassLoader.loadClass(ClassLoader.java:300)
sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
java.lang.ClassLoader.loadClass(ClassLoader.java:252)
org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1302)
org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1233)
java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320)
com.sun.mail.smtp.SMTPTransport.openServer(SMTPTransport.java:1900)
com.sun.mail.smtp.SMTPTransport.protocolConnect(SMTPTransport.java:638)
javax.mail.Service.connect(Service.java:317)
javax.mail.Service.connect(Service.java:176)
javax.mail.Service.connect(Service.java:125)
我也将所需的 jsse.jar (这是 Java 的标准 jar)添加到我的应用程序库中,但问题仍然存在。我现在怀疑 jre 中的 jsse.jar 已损坏,从而导致了此问题。我使用的是jre 1.6.0_13。
有人可以帮我解决这个错误吗?
My jsf web application using mail.jar and activation.jar to send email both of these and other dependent jars are in CLASSPATH, (the application is running in tomcat)
But I get following Exception
java.lang.NoClassDefFoundError: javax/net/SocketFactory
java.lang.ClassLoader.findBootstrapClass(Native Method)
java.lang.ClassLoader.findBootstrapClass0(ClassLoader.java:892)
java.lang.ClassLoader.loadClass(ClassLoader.java:302)
java.lang.ClassLoader.loadClass(ClassLoader.java:300)
sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
java.lang.ClassLoader.loadClass(ClassLoader.java:252)
org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1302)
org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1233)
java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320)
com.sun.mail.smtp.SMTPTransport.openServer(SMTPTransport.java:1900)
com.sun.mail.smtp.SMTPTransport.protocolConnect(SMTPTransport.java:638)
javax.mail.Service.connect(Service.java:317)
javax.mail.Service.connect(Service.java:176)
javax.mail.Service.connect(Service.java:125)
I added required jsse.jar (which is the Java`s standard jar) to my application libs as well, but still the issue persists. I doubt now that the jsse.jar in jre is corrupt which is causing this issue. I am using jre 1.6.0_13.
Can someone help me solving this error?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
该类是 JVM 提供的标准类。检查 JVM 安装是否已损坏、文件丢失等。
That class in particular is a standard class provided by the JVM. Check that the JVM installation isn't corrupted, missing files, etc.