luaj icon indicating copy to clipboard operation
luaj copied to clipboard

Java Platform Module System (JPMS) compatibility

Open micheljung opened this issue 5 years ago • 0 comments

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

micheljung avatar Jun 06 '20 00:06 micheljung