I’ve written a short blog post with more details on the new CPAN client support in PerlOnJava, including how jcpan works and how XS compatibility is handled.
If you’re interested in the implementation and design choices, take a look:
https://blogs.perl.org/users/flavio_s_glock/2026/03/perlonjava-gets-a-cpan-client.html