猿问

如何知道类在 Java 中来自哪里

今天我遇到了一个非常令人困惑的问题,我的电子邮件服务,我正在使用 simple-java-mail,突然停止发送..并引发异常:

Exception in thread "pool-3-thread-1" java.lang.NoSuchMethodError: com.sun.mail.util.TraceInputStream.(Ljava/io/InputStream;Lcom/sun/mail/util/MailLogger;)V

我快要疯了,因为没有添加任何影响电子邮件的内容,我尝试使用 maven enforcer 插件来发现发生了什么,但没有任何线索。

问题是我如何才能发现运行时类来自哪个 jar 或库?


心有法竹
浏览 116回答 1
1回答

月关宝盒

通过这个片段,您可以找出这个类的来源,从而立即找到类的来源:    Class klass = Class.forName("javax.mail.Service");    URL location = klass.getResource('/' + klass.getName().replace('.', '/') + ".class");    System.out.println(location);现在您可以知道 javax.mail.Service 驻留在哪个 JAR 中。
随时随地看视频慕课网APP

相关分类

Java
我要回答