Le 2025-05-15 à 19 h 03, Andy Law a écrit :
I don’t understand why this is so different from an aggregated
project, with ${module} above src, but I may be missing the point
because I’ve not spent any time thinking about JPMS yet.
Because it enables compile-time verification that the compiler can't do
in an aggregated project. Also because it simplifies aggregated Javadoc
for example. On a maybe more minor note, it is also makes the build
faster (compiling 10 modules in a single javac call is faster than
invoking javac 10 times, especially if javac needs to reload many of the
same dependencies each time).
You’re going to give me headaches navigating if you put ${module}
anywhere below either ${scope} or ${lang} though. Conceptually (to
me), a module contains scopes and “languages”.
Yes, I agree that module contains at least scope. I also admit that not
containing "languages" may cause more problems (in Maven context) than
the problem that it tries to solve. This give us proposal 1:
src/${module}/${scope}/${lang}
Martin