模块系统的JEP 261描述模块路径如下:
模块路径是一个序列,其每个元素可以是 模块定义 或包含模块定义的目录。每个模块定义为
甲 模块伪影 ,即模块化JAR文件或包含一编译模块定义一个JMOD文件,或者
一个 展开模块目录 ,其名称是,按照惯例,该模块的名称和它的内容是“爆炸”对应于包层次目录树。
然后描述模块解析机制:
在模块路径中搜索特定名称的模块时,模块系统会采用该名称的模块的第一个定义。版本字符串(如果存在)将被忽略; 构建工具和容器应用程序有责任配置模块路径,以避免版本冲突。解决版本选择问题不是模块系统的目标。
如前所述,这意味着只有 在同一目录中 存在两个具有相同名称的模块时,编译器才会进行投诉。