Jigsaw EA feedback

Anthony Vanelverdinghe anthony.vanelverdinghe at gmail.com
Sun Oct 4 16:00:02 UTC 2015


Maybe this is already planned, but I'd like for the tools to provide 
more "sanity checks" & give warnings. For example in the following cases:

- both at compile-time (javac) and package-time (jar): an "exports" 
clause which denotes a non-existent package
- at package-time: specifying a main class which is not actually in the 
While I can imagine valid use cases for allowing the above, I feel that 
a warning would be helpful here.

- at compile-time: a "requires" clause which should actually be a 
"requires public", because some of the dependence's types are "exposed" 
through some of the exported packages
- and the contrary: a "requires public" clause which for which none of 
its types are exposed through exported packages (again: I'm aware that 
there are valid use cases for this, e.g. modules like java.se, but a 
warning would be helpful)
Without these warnings, it could get tedious to keep track of which 
dependences are "exposed" and should therefore be specified as "requires 
public". Moreover, if you accidentally used "requires public", you 
cannot remove the "public" afterwards without breaking backward 
compatibility. A warning could prevent this from happening.

PS: in "The State of the Module System" [1], there's a typo: "because 
the some" should simply be "because some"

Kind regards,

[1] http://openjdk.java.net/projects/jigsaw/spec/sotms/

More information about the jigsaw-dev mailing list