Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
[jakartaee-platform-dev] Use of JPMS module-info.class in Jakarta EE 9 API jars

I created the following platform issue to track the outcome of this discussion:
https://github.com/eclipse-ee4j/jakartaee-platform/issues/162

Our JPA team had raised an issue in the jpa-api project regarding the module-info.class file found in the current jakarta.persistence-api-3.0.0-RC1.jar:
https://repo1.maven.org/maven2/jakarta/persistence/jakarta.persistence-api/3.0.0-RC1/jakarta.persistence-api-3.0.0-RC1.jar

The generalization of the jpa-api issue are concerns over the scope of dependencies being declared in api jars that could be viewed as implementation related concerns.

Even more general is whether there should be any module-info.class at all given that the platform has not been updated to prescribe how JPMS should be utilized, and API jars for Jakarta EE 9 were to target Java 8. While inclusion of module-info.class with Java 8 compiled classes does not impact Java 8 runtimes, there are implications for Java 11 runtimes looking to use JPMS. I have not looked into how the behavior differs under Java 11 when the api jar is included as a module vs and unnamed module.

What should or should not be allowed should be something that we document in the Jakarta EE 9 FAQ.


Back to the top