Getting the automatic module name of non-modular JAR
Alan.Bateman at oracle.com
Tue Apr 25 06:49:08 UTC 2017
On 24/04/2017 21:23, Gunnar Morling wrote:
> Given a non-modular JAR (e.g. represented as Path), what's the easiest
> way to obtain the automatic module name derived for this JAR?
If you just want the name then it might be more efficient to do it with
a regular expression.
> I found the following:
> Path nonModularJar = ...;
> String automaticModuleName = ModuleFinder.of( nonModularJar )
> Is this the best I can do?
> More generally speaking, is using ModuleFinder with a single path the
> only way to obtain a ModuleReference/ModuleDescriptor for a specific
Yes, ModuleFinder is the only way (it might be more succulent to use
stream + findFirst but that is just detail). If you are only interested
in the name then you could of course open the JAR file. If it contains
module-info.class then read it with ModuleDescriptor.read, otherwise use
a regex to derive the name.
More information about the jigsaw-dev