Java Platform Module System (JPMS) compatibility #70

Closed
opened 2020-06-06 00:40:12 +00:00 by micheljung · 1 comment
micheljung commented 2020-06-06 00:40:12 +00:00 (Migrated from github.com)

JPMS requires that all classes are within a package. This is not the case for:

  • lua.java
  • luac.java
  • luajc.java

Which prevents luaj from being used as a module:

 Caused by: java.lang.module.InvalidModuleDescriptorException: luajc.class found in top-level directory (unnamed package not allowed in module)
	at java.base/jdk.internal.module.ModulePath.toPackageName(ModulePath.java:718)
	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:529)
	at java.base/jdk.internal.module.ModulePath.readJar(ModulePath.java:642)
	... 11 more

Tested with AdoptOpenJDK 11.0.7 and luaj 3.0.1

JPMS requires that all classes are within a package. This is not the case for: - lua.java - luac.java - luajc.java Which prevents luaj from being used as a module: ``` Caused by: java.lang.module.InvalidModuleDescriptorException: luajc.class found in top-level directory (unnamed package not allowed in module) at java.base/jdk.internal.module.ModulePath.toPackageName(ModulePath.java:718) 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:529) at java.base/jdk.internal.module.ModulePath.readJar(ModulePath.java:642) ... 11 more ``` Tested with AdoptOpenJDK 11.0.7 and luaj 3.0.1
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: open-autonomous-connection/luaj#70