Will including `com.sun.activation:jakarta.activation` and
`com.sun.mail:smtp` be a problem on application servers
 that already include implementations of them? My
knowledge of the J2EE application servers is incomplete
for the modern (Java 11+) versions.


On Tue, Apr 19, 2022 at 5:05 PM Matt Sicker <boa...@gmail.com> wrote:

> As with the old Java EE dependencies on the APIs, the same pattern
> still applies to Jakarta EE via the "provided" scope (or "compileOnly"
> configuration when using Gradle).
>
> For the second point, I'd lean toward including the dependencies in
> those cases. You could make them "runtime" scope to avoid using any
> classes from it at compile time, though.
>
> On Tue, Apr 19, 2022 at 3:44 AM Piotr P. Karwasz
> <piotr.karw...@gmail.com> wrote:
> >
> > Hello,
> >
> > I just pushed the `log4j-jakarta-smtp` to `release-2.x`. Thanks to many
> > comments and suggestions in the PR it works as expected, but I have some
> > doubts on the Maven dependency pattern to apply to the artifact.
> >
> > In practice the artifact:
> >
> > 1. Directly references classes from
> > `jakarta.activation:jakarta.activation-api` and
> > `jakarta.mail:jakarta.mail-api`, but since all known implementations of
> > those APIs shade those artifacts instead of depending on them, I put
> those
> > dependencies as optional compile dependencies. Should they be 'provided'
> > dependencies?
> > 2. There is in practice a single implementation of the two APIs above, so
> > to help users of standalone and light servlet container applications I
> > added `com.sun.activation:jakarta.activation` and `com.sun.mail:smtp` (a
> > lighter version of `com.sun.mail:jakarta.mail` with just the SMTP
> provider)
> > as non-optional runtime dependencies. Should they be optional
> dependencies?
> >
> > Piotr
>

Reply via email to