modulepath spec

Jonathan Gibbons jonathan.gibbons at
Mon Dec 7 19:51:15 UTC 2015

On 12/07/2015 11:46 AM, Alan Bateman wrote:
> On 07/12/2015 17:18, Stephane Epardaud wrote:
>> Hi,
>> When there is a -modulepath argument, is it a path in the Unix sense?
>> With a list of File.pathSeparator-separated folders?
>> Ceylon produces `.car` files instead of `.jar` files, but they're really
>> zip files like jars. Will Java examine the file type to determine that
>> it's a zip file, or will it give up at its name?
>> Will there be support for module folder trees? Otherwise it pretty much
>> forces Maven/Ceylon users to copy modules from a tree to a flat folder.
>> That's an extra step, and it's possible, but it'd be nice if it weren't
>> mandatory. I know there are several tree mappings that don't entirely
>> correspond, with Ant, Maven, OSGi and Ceylon possibly differring
>> slightly, so this may be difficult.
>> Worst case I'll add a "ceylon export-java-mlib my.module/2.0" to create
>> that mlib folder and populate it flatly and rename `.car` files to 
>> `.jar`.
> Module path is conceptually very simple, it's just a sequence of sets 
> of modules.
> As things currently stand then the -mp argument to javac and java is a 
> sequence of directories, with File.pathSeparator as the separator. The 
> current implementations just looks for exploded modules or files 
> ending with ".jar" files in those directories. So ".car" files will be 
> ignored. There are also ".jmod" files that are also zip format but 
> with a different internal structure.
> The layout issue is something that Robert Scholte brought up in the 
> last few days too (in the context of Maven). There are a couple of 
> ideas floating around but no conclusions yet. In Robert's thread then 
> the suggestion is that it allow file paths to JAR files (like class 
> path). I don't think there is any conclusion on this topic yet so 
> feedback in this area is timely.
> -Alan.

At a lower level, when javac encounters file on a class path with a file 
extension it doesn't know about, it does try and open the file as a zip 
file.  I would expect the same heuristics to apply as appropriate, once 
we figure the semantics of module path, as indicated by Alan.

-- Jon

More information about the jigsaw-dev mailing list