simple-java-mail
simple-java-mail copied to clipboard
JDK14 JPMS problem - module colesico.armario.mailer reads package org.simplejavamail.internal.modules from both org.simplejavamail.core and org.simplejavamail
Hi, here is my pom part:
<dependency>
<groupId>org.simplejavamail</groupId>
<artifactId>simple-java-mail</artifactId>
<version>6.0.4</version>
</dependency>
module-info:
requires org.simplejavamail;
requires org.simplejavamail.core;
and app code:
Email email = EmailBuilder.startingBlank()
.from(mailerJob.getFromName(), mailerJob.getFromAddr())
.to(mailerJob.getToAddr())
.withSubject(mailerJob.getSubject())
.withPlainText(mailerJob.getText())
.buildEmail();
when try to compile application an error occurred:
module 'bla bla' reads package org.simplejavamail.internal.modules from both org.simplejavamail.core and org.simplejavamail
If remove (1) 'requires org.simplejavamail.core;' or (2) 'requires org.simplejavamail;' from module-info another error occuring:
for (1): package org.simplejavamail.api.email is not visible for (2) package org.simplejavamail.mailer is not visible
It seams something wrong with the package exporting in simplejavamail jpms modules
Yikes, I don't have much experience with modules in Java, so right now your guess is as good as mine (probably better :P)
Hi. I have encountered the same issue when I expiremented with modules.
The problem imo is described here: https://stackoverflow.com/questions/42358084/package-conflicts-with-automatic-modules-in-java-9
From my understanding is the issue that both jars provide the same packages.
Yet I'm also new to the module topic and was just expirementing with it on a private play around project.
To make good jpms support in my opinion it is need to do the following:
- Eliminate package duplication in a modules
- Add to all modules src/main/java/module-info.java (JMPS module declaration file )
- Export all public packages from each module ("exports [package name]" declaration in module-info)
- For module "simple-java-mail" add "requires transitive core-module" declaration to module-info to avoid exporting both modules in client code
Is there a plan to provide simple-java-mail JPMS conform?