From 334e6fa6bc263b1bdd9056153623fc94163339e8 Mon Sep 17 00:00:00 2001 From: Remko Popma Date: Sat, 11 May 2019 16:29:00 +0900 Subject: [PATCH] [#674] update picocli-jpms-module README for the location of the `module-info.class` file --- picocli-jpms-module/README.md | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/picocli-jpms-module/README.md b/picocli-jpms-module/README.md index af0167cb..6253de4b 100644 --- a/picocli-jpms-module/README.md +++ b/picocli-jpms-module/README.md @@ -8,12 +8,18 @@ This jar is generated in addition to the `picocli-${version}.jar` artifact. Star ## Contents of picocli-jpms-module -* a `module-info.class` in `/META-INF/versions/9/`. +* a `module-info.class` in the root of the jar. * the classes in the `picocli` package. * excludes (does not contain) any classes in the `picocli.groovy` package, so this module has no dependency on Groovy. -Typically, a modular jar includes the `module-info.class` file in its root directory. This may cause problems for some older tools, which incorrectly process the module descriptor as if it were a normal Java class. To provide the best backward compatibility, the `picocli-jpms-module` artifact is a modular multi-release jar with the `module-info.class` file located in `META-INF/versions/9`. +We considered making the `picocli-jpms-module` artifact a +modular multi-release jar with the `module-info.class` file located in `META-INF/versions/9`, +in the hope that this would avoid problems for some older tools, +which incorrectly process the module descriptor as if it were a normal Java class. +However, putting the `module-info.class` file in `META-INF/versions/9` seems to have its own problems, as discussed [here](https://github.com/remkop/picocli/issues/674). + +I'm open to changing this, based on community feedback. Let us know what works or does not work for you! # Using picocli with Java 9 modules