[MGNLREST-418] Missing javax.mail dependency Created: 06/Jun/22  Updated: 06/Jun/22

Status: Open
Project: Magnolia REST Framework
Component/s: integration
Affects Version/s: 2.2.13
Fix Version/s: None

Type: Bug Priority: Minor
Reporter: Richard Gange Assignee: Unassigned
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
causality
caused by MGNLREST-348 Multiple mail jars. Closed
Template:
Acceptance criteria:
Empty
Task DoD:
[ ]* Doc/release notes changes? Comment present?
[ ]* Downstream builds green?
[ ]* Solution information and context easily available?
[ ]* Tests
[ ]* FixVersion filled and not yet released
[ ]  Architecture Decision Record (ADR)
Bug DoR:
[ ]* Steps to reproduce, expected, and actual results filled
[ ]* Affected version filled

 Description   

The rest integration module is missing a dependency for javax.mail. Without it (or not having the mail module installed) you end up with:

2022-06-06 10:23:10,464 INFO  info.magnolia.cms.filters.CompositeFilter         : Initializing filter [Wrapper for DamDownloadServlet servlet]
2022-06-06 10:23:10,465 INFO  info.magnolia.cms.filters.CompositeFilter         : Initializing filter [Wrapper for RestDispatcherServlet servlet]
2022-06-06 10:23:10,998 WARN  org.jboss.resteasy.resteasy_jaxrs.i18n            : RESTEASY002145: NoClassDefFoundError: Unable to load builtin provider org.jboss.resteasy.plugins.providers.multipart.MimeMultipartProvider from jar:file:/Users/rich.gange/eclipse-workspace/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/wtpwebapps/light-author-webapp/WEB-INF/lib/resteasy-multipart-provider-4.6.1.Final.jar!/META-INF/services/javax.ws.rs.ext.Providers
java.lang.NoClassDefFoundError: javax/mail/MessagingException
	at java.lang.Class.getDeclaredConstructors0(Native Method) ~[?:1.8.0_261]
	at java.lang.Class.privateGetDeclaredConstructors(Class.java:2671) ~[?:1.8.0_261]
	at java.lang.Class.getConstructors(Class.java:1651) ~[?:1.8.0_261]
	at org.jboss.resteasy.spi.util.PickConstructor.pickSingletonConstructor(PickConstructor.java:30) ~[resteasy-core-spi-4.6.1.Final.jar:4.6.1.Final]
	at org.jboss.resteasy.core.providerfactory.Utils.createConstructorInjector(Utils.java:111) ~[resteasy-core-4.6.1.Final.jar:4.6.1.Final]
	at org.jboss.resteasy.core.providerfactory.Utils.createProviderInstance(Utils.java:100) ~[resteasy-core-4.6.1.Final.jar:4.6.1.Final]
	at org.jboss.resteasy.core.providerfactory.CommonProviders.processProviderContracts(CommonProviders.java:87) ~[resteasy-core-4.6.1.Final.jar:4.6.1.Final]
	at org.jboss.resteasy.core.providerfactory.ClientHelper.processProviderContracts(ClientHelper.java:104) ~[resteasy-core-4.6.1.Final.jar:4.6.1.Final]
	at org.jboss.resteasy.core.providerfactory.ResteasyProviderFactoryImpl.processProviderContracts(ResteasyProviderFactoryImpl.java:841) ~[resteasy-core-4.6.1.Final.jar:4.6.1.Final]
	at org.jboss.resteasy.core.providerfactory.ResteasyProviderFactoryImpl.registerProvider(ResteasyProviderFactoryImpl.java:829) ~[resteasy-core-4.6.1.Final.jar:4.6.1.Final]
	at org.jboss.resteasy.core.providerfactory.ResteasyProviderFactoryImpl.registerProvider(ResteasyProviderFactoryImpl.java:816) ~[resteasy-core-4.6.1.Final.jar:4.6.1.Final]
	at org.jboss.resteasy.plugins.providers.RegisterBuiltin.registerProviders(RegisterBuiltin.java:109) ~[resteasy-core-4.6.1.Final.jar:4.6.1.Final]
	at org.jboss.resteasy.plugins.providers.RegisterBuiltin.register(RegisterBuiltin.java:74) ~[resteasy-core-4.6.1.Final.jar:4.6.1.Final]
	at org.jboss.resteasy.core.ResteasyDeploymentImpl.startInternal(ResteasyDeploymentImpl.java:148) ~[resteasy-core-4.6.1.Final.jar:4.6.1.Final]
	at org.jboss.resteasy.core.ResteasyDeploymentImpl.start(ResteasyDeploymentImpl.java:121) ~[resteasy-core-4.6.1.Final.jar:4.6.1.Final]
	at org.jboss.resteasy.plugins.server.servlet.ServletContainerDispatcher.init(ServletContainerDispatcher.java:144) ~[resteasy-core-4.6.1.Final.jar:4.6.1.Final]
	at info.magnolia.rest.RestDispatcherServlet.init(RestDispatcherServlet.java:123) ~[magnolia-rest-integration-2.2.13.jar:?]
	at info.magnolia.cms.filters.ServletDispatchingFilter.initializeServlet(ServletDispatchingFilter.java:112) ~[magnolia-core-6.2.19.jar:?]
...
...
...
Caused by: java.lang.ClassNotFoundException: javax.mail.MessagingException
	at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1407) ~[catalina.jar:9.0.50]
	at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1215) ~[catalina.jar:9.0.50]
	... 55 more

Notes
Caused by MGNLREST-348
Can be fixed by adding:

<dependency>
    <groupId>com.sun.mail</groupId>
    <artifactId>javax.mail</artifactId>
</dependency>

Generated at Mon Feb 12 06:59:43 CET 2024 using Jira 9.4.2#940002-sha1:46d1a51de284217efdcb32434eab47a99af2938b.