Запуск java с --add-reads не распознает модуль, даже если он появляется при запуске с --list-modules - PullRequest
1 голос
/ 09 ноября 2019

Задано два модуля 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 распознавать модуль?

1 Ответ

0 голосов
/ 09 ноября 2019

В отличие от requires в module-info.java, --add-reads не добавит модуль в график модулей, даже если документация для --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
...