-
Bug
-
Resolution: Fixed
-
P3
-
9
While testing ASM,
i've found that you can not currently load a module that has a '+' in its name.
/usr/jdk/jdk-9-jigsaw/bin/java --module-path tmp --module "foo+bar"
Error occurred during initialization of VM
java.lang.module.ResolutionException: Error reading module: tmp/foo
at java.lang.module.Resolver.findWithBeforeFinder(java.base@9-ea/Resolver.java:735)
at java.lang.module.Resolver.resolveRequires(java.base@9-ea/Resolver.java:86)
at java.lang.module.Configuration.resolveRequiresAndUses(java.base@9-ea/Configuration.java:370)
at java.lang.module.ModuleDescriptor$1.resolveRequiresAndUses(java.base@9-ea/ModuleDescriptor.java:2081)
at jdk.internal.module.ModuleBootstrap.boot(java.base@9-ea/ModuleBootstrap.java:263)
at java.lang.System.initPhase2(java.base@9-ea/System.java:1927)
Caused by: java.lang.module.InvalidModuleDescriptorException: foo+bar: Invalid module name: Illegal character at index 3
According to the spec [1] section 2.1, the module name is a name in its internal form (JVMS 4.2.1)
so it's a sequence of unicode characters (beside '.', ';', '[' and '/') separated by '/'.
So '+' is a valid character.
See:
http://mail.openjdk.java.net/pipermail/jigsaw-dev/2016-August/009209.html
i've found that you can not currently load a module that has a '+' in its name.
/usr/jdk/jdk-9-jigsaw/bin/java --module-path tmp --module "foo+bar"
Error occurred during initialization of VM
java.lang.module.ResolutionException: Error reading module: tmp/foo
at java.lang.module.Resolver.findWithBeforeFinder(java.base@9-ea/Resolver.java:735)
at java.lang.module.Resolver.resolveRequires(java.base@9-ea/Resolver.java:86)
at java.lang.module.Configuration.resolveRequiresAndUses(java.base@9-ea/Configuration.java:370)
at java.lang.module.ModuleDescriptor$1.resolveRequiresAndUses(java.base@9-ea/ModuleDescriptor.java:2081)
at jdk.internal.module.ModuleBootstrap.boot(java.base@9-ea/ModuleBootstrap.java:263)
at java.lang.System.initPhase2(java.base@9-ea/System.java:1927)
Caused by: java.lang.module.InvalidModuleDescriptorException: foo+bar: Invalid module name: Illegal character at index 3
According to the spec [1] section 2.1, the module name is a name in its internal form (JVMS 4.2.1)
so it's a sequence of unicode characters (beside '.', ';', '[' and '/') separated by '/'.
So '+' is a valid character.
See:
http://mail.openjdk.java.net/pipermail/jigsaw-dev/2016-August/009209.html