Hi, I'm trying to use jdeps to get a full list of split packages, and while trying to run jdeps, I found some funny things that I was unaware of about the module system (unfortunately, found no way to actually use jdeps to list all split packages, it just reports the first error found and exists... will have to check out other tools or build one, suggestions welcomed)
*One cannot have a class not contained in a package* > jdeps -R --module-path . *.jar Exception in thread "main" java.lang.module.FindException: Unable to derive module descriptor for ./gt-geojson-21-SNAPSHOT.jar at java.base/jdk.internal.module.ModulePath.readJar(ModulePath.java:647) at java.base/jdk.internal.module.ModulePath.readModule(ModulePath.java:330) at java.base/jdk.internal.module.ModulePath.scanDirectory(ModulePath.java:283) at java.base/jdk.internal.module.ModulePath.scan(ModulePath.java:231) at java.base/jdk.internal.module.ModulePath.scanNextEntry(ModulePath.java:189) at java.base/jdk.internal.module.ModulePath.findAll(ModulePath.java:165) at jdk.jdeps/com.sun.tools.jdeps.JdepsConfiguration$Builder.build(JdepsConfiguration.java:544) at jdk.jdeps/com.sun.tools.jdeps.JdepsTask.buildConfig(JdepsTask.java:589) at jdk.jdeps/com.sun.tools.jdeps.JdepsTask.run(JdepsTask.java:543) at jdk.jdeps/com.sun.tools.jdeps.JdepsTask.run(JdepsTask.java:519) at jdk.jdeps/com.sun.tools.jdeps.Main.main(Main.java:49) Caused by: java.lang.module.InvalidModuleDescriptorException: *Skunkworks.class found in top-level directory (unnamed package not allowed in module)* at java.base/jdk.internal.module.ModulePath.toPackageName(ModulePath.java:719) at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:195) at java.base/java.util.HashMap$KeySpliterator.forEachRemaining(HashMap.java:1603) at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:484) at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:474) at java.base/java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:913) at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) at java.base/java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:578) at java.base/jdk.internal.module.ModulePath.deriveModuleDescriptor(ModulePath.java:530) at java.base/jdk.internal.module.ModulePath.readJar(ModulePath.java:643) ... 10 more Oh fun, the geojson module really has a Skunkworks class at the top level. Easy to remove. *One cannot declare services that are not in the module* Exception in thread "main" java.lang.module.FindException: Unable to derive module descriptor for ./gt-svg-21-SNAPSHOT.jar at java.base/jdk.internal.module.ModulePath.readJar(ModulePath.java:647) at java.base/jdk.internal.module.ModulePath.readModule(ModulePath.java:330) at java.base/jdk.internal.module.ModulePath.scanDirectory(ModulePath.java:283) at java.base/jdk.internal.module.ModulePath.scan(ModulePath.java:231) at java.base/jdk.internal.module.ModulePath.scanNextEntry(ModulePath.java:189) at java.base/jdk.internal.module.ModulePath.findAll(ModulePath.java:165) at jdk.jdeps/com.sun.tools.jdeps.JdepsConfiguration$Builder.build(JdepsConfiguration.java:544) at jdk.jdeps/com.sun.tools.jdeps.JdepsTask.buildConfig(JdepsTask.java:589) at jdk.jdeps/com.sun.tools.jdeps.JdepsTask.run(JdepsTask.java:543) at jdk.jdeps/com.sun.tools.jdeps.JdepsTask.run(JdepsTask.java:519) at jdk.jdeps/com.sun.tools.jdeps.Main.main(Main.java:49) *Caused by: java.lang.module.InvalidModuleDescriptorException: Provider class org.apache.batik.ext.awt.image.codec.imageio.ImageIOPNGImageWriter not in module* at java.base/jdk.internal.module.ModulePath.deriveModuleDescriptor(ModulePath.java:554) at java.base/jdk.internal.module.ModulePath.readJar(ModulePath.java:643) ... 10 more Indeed the SVG module is trying to export readers and writers that are actually inside Batik. Nope, not allowed. Same goes for: Exception in thread "main" java.lang.module.FindException: Unable to derive module descriptor for ./gt-main-21-SNAPSHOT.jar at java.base/jdk.internal.module.ModulePath.readJar(ModulePath.java:647) at java.base/jdk.internal.module.ModulePath.readModule(ModulePath.java:330) at java.base/jdk.internal.module.ModulePath.scanDirectory(ModulePath.java:283) at java.base/jdk.internal.module.ModulePath.scan(ModulePath.java:231) at java.base/jdk.internal.module.ModulePath.scanNextEntry(ModulePath.java:189) at java.base/jdk.internal.module.ModulePath.findAll(ModulePath.java:165) at jdk.jdeps/com.sun.tools.jdeps.JdepsConfiguration$Builder.build(JdepsConfiguration.java:544) at jdk.jdeps/com.sun.tools.jdeps.JdepsTask.buildConfig(JdepsTask.java:589) at jdk.jdeps/com.sun.tools.jdeps.JdepsTask.run(JdepsTask.java:543) at jdk.jdeps/com.sun.tools.jdeps.JdepsTask.run(JdepsTask.java:519) at jdk.jdeps/com.sun.tools.jdeps.Main.main(Main.java:49) Caused by: java.lang.module.InvalidModuleDescriptorException:* Provider class org.geotools.data.gml.GMLDataSourceFactory not in module* at java.base/jdk.internal.module.ModulePath.deriveModuleDescriptor(ModulePath.java:554) at java.base/jdk.internal.module.ModulePath.readJar(ModulePath.java:643) ... 10 more Exception in thread "main" java.lang.module.FindException: Unable to derive module descriptor for ./gt-complex-21-SNAPSHOT.jar at java.base/jdk.internal.module.ModulePath.readJar(ModulePath.java:647) at java.base/jdk.internal.module.ModulePath.readModule(ModulePath.java:330) at java.base/jdk.internal.module.ModulePath.scanDirectory(ModulePath.java:283) at java.base/jdk.internal.module.ModulePath.scan(ModulePath.java:231) at java.base/jdk.internal.module.ModulePath.scanNextEntry(ModulePath.java:189) at java.base/jdk.internal.module.ModulePath.findAll(ModulePath.java:165) at jdk.jdeps/com.sun.tools.jdeps.JdepsConfiguration$Builder.build(JdepsConfiguration.java:544) at jdk.jdeps/com.sun.tools.jdeps.JdepsTask.buildConfig(JdepsTask.java:589) at jdk.jdeps/com.sun.tools.jdeps.JdepsTask.run(JdepsTask.java:543) at jdk.jdeps/com.sun.tools.jdeps.JdepsTask.run(JdepsTask.java:519) at jdk.jdeps/com.sun.tools.jdeps.Main.main(Main.java:49) Caused by: java.lang.module.InvalidModuleDescriptorException: *Provider class org.geotools.util.ComplexAttributeConverterFactory not in module* at java.base/jdk.internal.module.ModulePath.deriveModuleDescriptor(ModulePath.java:554) at java.base/jdk.internal.module.ModulePath.readJar(ModulePath.java:643) ... 10 more Cheers Andrea == GeoServer Professional Services from the experts! Visit http://goo.gl/it488V for more information. == Ing. Andrea Aime @geowolf Technical Lead GeoSolutions S.A.S. Via di Montramito 3/A 55054 Massarosa (LU) phone: +39 0584 962313 fax: +39 0584 1660272 mob: +39 339 8844549 http://www.geo-solutions.it http://twitter.com/geosolutions_it ------------------------------------------------------- *Con riferimento alla normativa sul trattamento dei dati personali (Reg. UE 2016/679 - Regolamento generale sulla protezione dei dati “GDPR”), si precisa che ogni circostanza inerente alla presente email (il suo contenuto, gli eventuali allegati, etc.) è un dato la cui conoscenza è riservata al/i solo/i destinatario/i indicati dallo scrivente. Se il messaggio Le è giunto per errore, è tenuta/o a cancellarlo, ogni altra operazione è illecita. Le sarei comunque grato se potesse darmene notizia. This email is intended only for the person or entity to which it is addressed and may contain information that is privileged, confidential or otherwise protected from disclosure. We remind that - as provided by European Regulation 2016/679 “GDPR” - copying, dissemination or use of this e-mail or the information herein by anyone other than the intended recipient is prohibited. If you have received this email by mistake, please notify us immediately by telephone or e-mail.*
_______________________________________________ GeoTools-Devel mailing list GeoTools-Devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/geotools-devel