Java模块路径与NetBeans IDE使用指南
模块路径下的重复模块处理
在Java开发中,有时模块路径上会存在同一模块的多个版本。模块系统在选择使用哪个模块副本时遵循一定规则。
当模块路径上有同名的两个模块时,这通常是错误的,不过模块系统会在一定程度上避免此类错误。
下面通过一个例子来理解解决重复模块的规则。假设有 jdojo.intro 模块的两个版本,一个在 C:\bj9f\lib 目录下的 com.jdojo.intro.jar 文件中,另一个在 C:\bj9f\mod\jdojo.intro 目录中。运行 Welcome 类并将这两个目录都包含在模块路径中:
C:\bj9f>java --module-path C:\bj9f\lib;C:\bj9f\mod\jdojo.intro --module jdojo.intro/com.jdojo.intro.Welcome
Welcome to Java 9!
这个命令看似会失败,因为运行时系统可以访问同一模块的两个版本。很难从输出判断使用了哪个模块副本,因为两个副本的代码相同。可以使用 --show-module-resolution 选项查看模块加载的位置:
C:\bj9f>java --module-path C:
超级会员免费看
订阅专栏 解锁全文
91

被折叠的 条评论
为什么被折叠?



