-
Notifications
You must be signed in to change notification settings - Fork 100
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
jakarta.mail-api is not a Multi Release JAR #660
Comments
It looks we have the same issue we had here, and I bet this is a problem in many other projects: I will apply the same fix. We don't need a multirelease, right?. package-info.java can be compiled with release 8 with no issues. |
Signed-off-by: Jorge Bescos Gascon <[email protected]>
Signed-off-by: Jorge Bescos Gascon <[email protected]>
What about module-info.class? It can neither be compiled nor ran with jdk/runtime 8. So the problem is only partially fixed with the package-info job? Also, would (and could) this be ported over to 1.x? Asking because in need of multiline POP3 xoauth2 authentication, but, stuck to pre-jakarta mail (1.6.2) because of the classes compiled with 53 major version. |
This can be addressed here. It looks we will not compile with JDK 8 anymore, everything will be compiled for JDK 9 or 11, and we don't need a multirelease for module-info. |
FWIW you would still need a multi-release JAR if classes compiled with multiple bytecode levels find their way into the JAR, as noted the enforcer plugins check compliance to a given level in the whole unversioned classes space. This is not a Java 8 only thing. |
The idea is to compile everything with JDK 11, so we will not need a multirelease jar. |
Describe the bug
Latest jakarta.mail-api (
2.1.1
) includes 6 classes compiled to bytecode 53 and 148 classes to compiled to bytecode 52. All classes are found in the unversioned space which means enforcer rules for both Maven and Gradle will trigger and fail a build.To Reproduce
Steps to reproduce the behavior:
If the
--details
flag is added you get the names of the 6 classes causing troubleExpected behavior
These 6 classes should be inside
/META-INF/versions/9
. The JAR's manifest should have a manifest entry such asMulti-Release: true
https://docs.oracle.com/javase/10/docs/specs/jar/jar.html#multi-release-jar-files
The text was updated successfully, but these errors were encountered: