This is the module declaration of the java.rmi
module:
module java.rmi {
requires java.base;
requires java.logging;
exports java.rmi.activation;
exports com.sun.rmi.rmid to java.base; // <-- cycle
...
}
So, there is a cyclic dependency between java.rmi
and java.base
, right? Are cycles allowed between platform modules?
com.sun.rmi
is a package that is exported by the modulejava.rmi
– Pateljava.rmi
depends onjava.base
. But it also exports its package tojava.base
, sojava.base
apparently needs access to this package (otherwise that line of code didn't make sense). – Patel