javaspringemail

java.lang.NoSuchMethodError: 'java.util.Hashtable com.sun.activation.registries.MailcapFile.getMailcapList(java.lang.String)'


When my server code runs in production it throws this error:

Caused by: java.lang.NoSuchMethodError: 'java.util.Hashtable com.sun.activation.registries.MailcapFile.getMailcapList(java.lang.String)'
    at javax.activation.MailcapCommandMap.createDataContentHandler(MailcapCommandMap.java:486)
    at javax.activation.DataHandler.getDataContentHandler(DataHandler.java:568)
    at javax.activation.DataHandler.getContent(DataHandler.java:501)
    at javax.mail.internet.MimeBodyPart.updateHeaders(MimeBodyPart.java:1505)
    at javax.mail.internet.MimeMessage.updateHeaders(MimeMessage.java:2238)
    at javax.mail.internet.MimeMessage.saveChanges(MimeMessage.java:2198)
    at org.simplejavamail.mailer.internal.SendMailClosure.executeClosure(SendMailClosure.java:68)
    at org.simplejavamail.mailer.internal.AbstractProxyServerSyncingClosure.run(AbstractProxyServerSyncingClosure.java:56)`enter code here`
    at org.simplejavamail.mailer.internal.MailerImpl.sendMail(MailerImpl.java:344)
    at org.simplejavamail.mailer.internal.MailerImpl.sendMail(MailerImpl.java:330)

but when I run it locally there is no such issue. The dependencies are present when I look in the IDE (see screenshots). Am using Spring version 5.3.34, and Java version 11.

enter image description here enter image description here


Solution

  • I solved the problem just by updating these dependencies of the project to last version: simplejavaemail 8.12.4 and atlassian-renderer 9.0.3

    Versions of atlassian-renderer artifact lower than 9.0.3 depends on javax.activation 1.0.2, method com.sun.activation.registries.MailcapFile.getMailcapList of this artifact returns Hashtable

    Artifact atlassian-renderer 9.0.3 depends on javax.activation 1.1.1 in this version method returns Map