Circular loading of installed providers detected

Alan Bateman Alan.Bateman at oracle.com
Tue Oct 5 13:58:53 UTC 2021


On 05/10/2021 14:46, Michael Hall wrote:
>
>
> Sort of oddly.
> I was going to come up with a JDK16 version of the application to get 
> around some JDK17 encapsulation errors for some 3rd party code.
> For JShell these messages come back…
>
> /Users/mjh/HalfPipe/HalfPipe_jpkg/HalfPipe16.app/Contents/app/httpcore5-5.0.2.jar
> error: No file system provider is available to handle this file:
>
> My jpackage invocation still has a —add-modules that includes jdk.zipfs
> If I do a —list-modules against the embedded runtime it doesn’t show up…
>
> HalfPipe16.app/Contents/runtime/Contents/Home/bin/java --list-modules 
> | grep zipfs
>
> The OS/X installed jdk16 includes it…
> /usr/libexec/java_home -v 16 --exec java --list-modules | grep zipfs
> jdk.zipfs at 16
>
> I did remove the parameter for my DefaultFileSystemProvider as that 
> did not work at jdk16. If it is being found by discovery it should be 
> the  current version with the circular workaround.
>
> I am not sure why the jdk16 jpackage/jlink runtime misses the zipfs 
> module? But so far other than looking messy starting JShell it doesn’t 
> seem to cause any problems.
>
jdk.zipfs is a service provider module so no module requires it. So yes, 
you'll ned to keep it on the list of modules that you specify to the 
jlink --add-modules option.

-Alan



More information about the nio-dev mailing list