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?