Sending Java Mail from EAP 8.0.x results in a "RuntimeException: Provider for jakarta.activation.spi.MailcapRegistryProvider cannot be found"
Issue
-
To use Java Mail functionality in JBoss EAP 8.0.x, updated the package from
javax.tojakarta.namespace and added two required JARs for Jakarta Mail,jakarta.mail-api-xxx.jarandjakarta.activation-api-xxx.jarto the classpath, but following error still occurs:java.lang.RuntimeException: Provider for jakarta.activation.spi.MailcapRegistryProvider cannot be found at jakarta.activation.FactoryFinder.find(FactoryFinder.java:95) at jakarta.activation.MailcapCommandMap.getImplementation(MailcapCommandMap.java:705) at jakarta.activation.MailcapCommandMap.loadFile(MailcapCommandMap.java:284) at jakarta.activation.MailcapCommandMap.<init>(MailcapCommandMap.java:154) at jakarta.activation.CommandMap.getDefaultCommandMap(CommandMap.java:60) at jakarta.activation.DataHandler.getCommandMap(DataHandler.java:128) at jakarta.activation.DataHandler.getDataContentHandler(DataHandler.java:590) at jakarta.activation.DataHandler.writeTo(DataHandler.java:290) at jakarta.mail.internet.MimeUtility.getEncoding(MimeUtility.java:318) at jakarta.mail.internet.MimeBodyPart.updateHeaders(MimeBodyPart.java:1562) at jakarta.mail.internet.MimeBodyPart.updateHeaders(MimeBodyPart.java:1156) at jakarta.mail.internet.MimeMultipart.updateHeaders(MimeMultipart.java:509) at jakarta.mail.internet.MimeBodyPart.updateHeaders(MimeBodyPart.java:1520) at jakarta.mail.internet.MimeMessage.updateHeaders(MimeMessage.java:2270) at jakarta.mail.internet.MimeMessage.saveChanges(MimeMessage.java:2230) at jakarta.mail.Transport.send(Transport.java:101) -
This occurs within a standalone Java application project in the IDE development environment, used for testing before deployment to the JBoss EAP 8 server.
Environment
- Red Hat JBoss Enterprise Application Platform
- 8.0.x
Subscriber exclusive content
A Red Hat subscription provides unlimited access to our knowledgebase, tools, and much more.