I have learn that in order to use any other exported module, we need to specify that module as a requires
:
module mymodule{
requires othermodule.xyz;
}
When othermodule
uses on thirdmodule
and mymodule
needs that as well, othermodule
should define transitive dependency like this:
module othermodule {
requires transitive thirdmodule
}
However, I have seen many sites that use the public
keyword for this situation:
module othermodule {
requires public thirdmodule
}
What is the difference there is between the two forms; i.e. requires public
and requires transitive
?