Java 11 Невозможно получить дескриптор модуля - PullRequest
0 голосов
/ 14 февраля 2019

Я получаю это сообщение об ошибке, когда пытаюсь скомпилировать свое новое модульное приложение Java 11:

Error occurred during initialization of boot layer
java.lang.module.FindException: Unable to derive module descriptor for C:\Users\inter\.m2\repository\xalan\xalan\2.7.2\xalan-2.7.2.jar
Caused by: java.lang.module.InvalidModuleDescriptorException: Provider class org.apache.bsf.BSFManager not in module

Похоже, это проблема зависимости от зависимости.Я даже не могу найти, какой модуль вытягивает его, поэтому я могу обновить его.

Я использую openjdk 11.0.2, IntelliJ 2018.3.4, Maven

Любой совет, как можно устранить неполадкиили это исправить?Я нашел очень мало документации по этому вопросу.

1 Ответ

0 голосов
/ 14 февраля 2019

Я посмотрел на их баг-трекер после их индексной страницы и не смог найти это сообщение, и не уверен, насколько активно ведется работа с библиотекой.

Просто чтобыобъясните, что вызвало проблему в вашем коде, я бы поделился снимком экрана, а затем попытался бы добавить подробности вокруг него.

Screenshot

Итак, в JARдля версии 2.7.2 существуют объявления служб (META-INF/services), которые включают org.apache.xalan.extensions.bsf.BSFManager в качестве одного из них.В этом случае служебный файл должен указывать поставщика для себя, и предполагается, что класс должен присутствовать (путь к модулю или безымянный модуль), который должен быть разрешен для надежной конфигурации модулей.

В этом случае для модуля xalan(автоматический модуль), в указанном сервисе нет класса провайдера, упакованного в самой зависимости.(См. Пакет org.apache, далее он не имеет пакета bsf и класса BSFManager. Отсюда и исключение, которое вы получите.

Одна из настроек, которая должна быть решена, заключается в следующем:Обновите библиотеку jar (исправьте ее) и избавьтесь от служебного файла, если вы его не используете.

Идеальным способом было бы сообщить об этом сопровождающим и разрешить его, если они активно поддерживают его.(последний выпуск был почти 5 лет назад, возможно, просто захотите найти лучшую альтернативу IMHO).

...