-
Notifications
You must be signed in to change notification settings - Fork 55
Description
With the release of JDK9, Project Jigsaw was introduced into the Java ecosystem. The most prominent advantage for adopting these (relatively) new features is for modularization of dependencies. The CLI tool jlink was introduced into the JDK that allows building a custom minimal JRE using only the necessary native Java modules that a module requires.
Currently, this project does not have a module-info.java that explicitly states all of its dependencies and namespace. This causes some incompatibility issues when developing a project with argparse4j, since automatic module names are generated for it (i.e. argparse4j, and not net.sourceforge.argparse4j). Is there any chance that JDK/JRE 9+ modularization can be supported in this project?
Without it, the Maven compiler outputs the following:
[WARNING] Can't extract module name from classes: C:\[REDACTED]\target\classes
[WARNING] ********************************************************************************************************************************************
[WARNING] * Required filename-based automodules detected: [argparse4j-0.8.1.jar]. Please don't publish this project to a public artifact repository! *
[WARNING] ********************************************************************************************************************************************
A quick note: adding a module-info.java is generally backwards compatible; a Maven configuration can be used to compile the module-info.java for Java 9, but retain lower Java versions for the rest of the classes (I have an example in one of my repositories)