В настоящее время я тестирую перенос существующего приложения на модули Jigsaw. Один из моих модулей использует ElasticSearch вместе с подключаемым модулем Groovy.
- org.elasticsearch:эластичный поиск
- org.elasticsearch.module:lang-groovy
К сожалению, у них раздельный пакет, поэтому mvn install
дает мне:
x читает пакет org.elasticsearch.script.groovy как из lang.groovy, так и из elasticsearch
один раз для каждого требуемого модуля в дескрипторе, где x — имя каждого модуля.
Я предполагаю, что более новая версия elasticsearch устранит разделенный пакет к тому времени, когда Java 9 станет окончательной, но есть ли вообще способ обрабатывать разделенные пакеты в устаревших зависимостях?
Я надеялся иметь их в пути к классам вместо пути к модулю, но после прочтения эта беседа в списке рассылки кажется, что нет способа заставить компилятор Maven сделать это.
maven 3.3.9 - плагин компилятора maven 3.6.0 - jdk9-ea+149 - elasticsearch 2.3.3