在模块路径上给出两个模块m1
和m2
:
java -version
openjdk version "11.0.2" 2019-01-15
java -p M2/bin:M1/bin --list-modules
...
m1 <path>M1/bin/
m2 <path>M2/bin/
运行模块m2
,并从--add-reads
到m2
指定m1
时:
java -p M2/bin:M1/bin --add-reads m2=m1 -m m2/p2.C2
WARNING: Unknown module: m1 specified to --add-reads
...
Java无法看到模块m1
,即使使用--list-modules
时也清晰可见。
如何使--add-reads
识别模块?
与requires
中的module-info.java
不同,--add-reads
不会将模块添加到模块图中,即使the documentation的--add-reads
表示:This is, essentially, a command-line form of a requires clause in a module declaration
。原来实际的等价物是--add-modules
加上--add-reads
:
java -p M2/bin:M1/bin --add-modules m1 --add-reads m2=m1 -m m2/p2.C2