Progress report on SLF4J project modularization

Remi Forax forax at
Sat Mar 25 20:32:18 UTC 2017

they are two ways to compile a project with a version which is not java 9, let say 8 and a module-info with java 9.

Either, like the Maven compiler plugin, you compile twice the source, once with java 9 and once with java 8 excluding the,
or you compile once with java 8 excluding the module-info and you then compile only the with java 9 (it's what Ceki has used).

The later solution is usually faster and avoid subtle bugs like if between java x and java 9, the code of javac changes the way a synthetic class is named (you will have the two versions with the compiler plugin).

----- Mail original -----
> De: "Robert Scholte" <rfscholte at>
> À: jigsaw-dev at
> Envoyé: Samedi 25 Mars 2017 18:56:50
> Objet: Re: Progress report on SLF4J project modularization

> On Sat, 25 Mar 2017 15:38:27 +0100, Ceki Gulcu <ceki at> wrote:
>> Following the recipe at [2], it all seems to work.
> Good to read that the recipe works. If we need to add things to this
> recipe to improve it, just let me know.
> Although in general I don't think we'll be helping developers if we show
> the javac with its commandline arguments, especially since most of it is
> hidden or calculated inside the maven-compiler-plugin.
> thanks,
> Robert

More information about the jigsaw-dev mailing list