Java выдает InvalidModuleDescriptorException, когда модуль экспортирует исправленный пакет - PullRequest
0 голосов
/ 28 августа 2018

java 10.0.2 + 13 выбрасывает java.lang.module.InvalidModuleDescriptorException, когда module-info.class в каталоге в пути к модулю экспортирует пакет, который не находится в том же каталоге.

Это разумное поведение во многих обстоятельствах, но, в моем случае, у меня есть пакет в другом каталоге, который пропатчен в данный модуль с использованием --patch-module.

Пример:

Модуль m определен в файле classes/m/module-info.class.

m пакет экспорта p.

module-info.class является единственным дочерним элементом каталога classes/m.

Каталог classes/patch содержит p/Main.class.

Упрощенная командная строка:

java --module-path classes/m --patch-module m=classes/patch --module m/p.Main

Выше будет выброшено java.lang.module.InvalidModuleDescriptorException, которое говорит, что «Пакет p не найден в модуле».

Есть ли способ заставить java не выбрасывать InvalidModuleDescriptorException, не копируя файлы class из classes/m & classes/patch в тот же каталог или в тот же файл jar

...