Sending Java Mail from EAP 8.0.x results in a "RuntimeException: Provider for jakarta.activation.spi.MailcapRegistryProvider cannot be found"

Solution Verified - Updated -

Issue

  • To use Java Mail functionality in JBoss EAP 8.0.x, updated the package from javax. to jakarta. namespace and added two required JARs for Jakarta Mail, jakarta.mail-api-xxx.jar and jakarta.activation-api-xxx.jar to 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.

Current Customers and Partners

Log in for full access

Log In

New to Red Hat?

Learn more about Red Hat subscriptions

Using a Red Hat product through a public cloud?

How to access this content