There may be a problem with libraries that H2 optionally use. They are not a modules yet (and some of them like archaic version of Lucene will never be). Modularization of H2 may cause problems with them. It's possible to describe them by their automatic names, but automatic names have own issues with some libraries. Situation with JTS, Lucene, loggers, may be something else should be tested on Java 9.