Jigsaw specific commandline arguments

Robert Scholte rfscholte at apache.org
Fri May 12 20:40:04 UTC 2017

A lot of type commandline arguments have been introduced at the beginning
of the implementation. With the experience we have reach now I would
advise to go over all the arguments again.

For instance: for libraries I would prefer not to add specific arguments
because might mean that all its users need to do the same.

We also shouldn't over-complicate things:
Accept that not all Java projects can be transformed to a modular project  
(e.g. it is very likely that Maven cannot become modular) and avoid  
command line arguments which still try to help with this.

Now would be the correct moment to look at these extra arguments and  
verify if they all makes sense. Keep in mind that adding options is easier  
compared to removing options.

This brings me to an extra feature request:

# Embed jigsaw specific arguments (e.g. inside compiled module descriptor)

One of the issues I recognize is that during compilation of a library some
additional arguments are added to make it compile. It is very likely that
some or all of these arguments are required at runtime as well when used
by an application. To improve the adoption I would advice to store JPMS  
information in the module descriptor, something we could access in the

Up until now most javac arguments are standalone and their effect are  
often good visible (source/target/release option, -g flag). Apart from *a*  
classpath their values don't have to be repeated to make it run. For the  
JPMS specific arguments it is a different story. Especially when using  
libraries which have been compiled with extra flags it would be good to  
know there original arguments.


More information about the jpms-spec-observers mailing list