jna-platform, xalan, batik-script InvalidModuleDescriptorException

Alan Bateman Alan.Bateman at oracle.com
Tue Apr 11 06:58:51 UTC 2017


On 10/04/2017 22:49, Rahman USTA wrote:

> :
>
> 1) Error occurred during initialization of boot layer
> java.lang.module.FindException: Unable to derive module descriptor for
> \.m2\repository\net\java\dev\jna\jna-platform\4.4.0\jna-platform-4.4.0.jar
> Caused by: java.lang.module.InvalidModuleDescriptorException: Main-Class
> com.sun.jna.Native not in module
I don't know why this JAR file has a Main-Class attribute but I assume 
that `java -jar jna-platform-4.4.0.jar` doesn't work or only works when 
the JAR file containing the entry point is brought into the environment.

I see Mandy's note about this JAR file seems to have code that using the 
AWT peer API so I assume this library is going to need work anyway.

>
> 2) Error occurred during initialization of boot layer
> java.lang.module.FindException: Unable to derive module descriptor for
> \.m2\repository\org\apache\xmlgraphics\batik-script\1.8\batik-script-1.8.jar
> Caused by: java.lang.module.InvalidModuleDescriptorException: Provider
> class org.apache.batik.bridge.RhinoInterpreterFactory not in module
>
> 3) Error occurred during initialization of boot layer
> java.lang.module.FindException: Unable to derive module descriptor for
> \.m2\repository\xalan\xalan\2.7.2\xalan-2.7.2.jar
> Caused by: java.lang.module.InvalidModuleDescriptorException: Provider
> class org.apache.bsf.BSFManager not in module
The class path is leaky in that a JAR file can name a class in its 
META-INF/services configuration file and the class is loaded from 
another JAR file. It would be interesting to see if that is the case 
with these two projects. I assume if deployed in isolation on the class 
path that ServiceConfigurationError is throw when the providers cannot 
be loaded.

As regards moving forward then do you have direct dependences on these 
libraries? If the dependences not direct then you could leave these JAR 
files on the class path (assuming they actually work there). When 
migrating to modules then it's okay to do this, esp. with legacy 
libraries with issues that prevent them being used as modules.

-Alan


More information about the jigsaw-dev mailing list