Я унаследовал проект Spring Boot, в котором мы хотели бы использовать Java 11 для тестирования из-за хороших функций, добавленных в Java 9 и 10 (var
и List.of(...)
).
Проект Maven разделен на несколько частей, где код для производства настроен для Java 8, а тестовый код для Java 11. Это хорошо работает индивидуально на модульной основе, а глобальная сборка работает с Java 8 (за исключением неудачных тестов). для компиляции) и Java 10.
Теперь я хочу скомпилировать все из корня, используя Java 11, поскольку это LTS (Zulu, как это в Windows 10), и по какой-то причине Maven теперь хочет использовать org.openjfx:javafx.base:jar:11.0. 0-СНИМОК
[INFO] Building mumble-data-service-parent 1.0.0-SNAPSHOT
[1/8]
[INFO] --------------------------------[ pom ]---------------------------------
[WARNING] The POM for org.openjfx:javafx.base:jar:11.0.0-SNAPSHOT is missing, no dependency information available
[INFO]
Поскольку зависимости не удовлетворены, я не могу (по крайней мере, так, как я могу придумать) заставить Maven сказать мне, почему он хочет это сделать, поэтому я понятия не имею, где искать, и проект в первую очередь не ссылается на javafx (будучи микросервисом Spring Boot, который меня немного удивит). Отсюда этот вопрос.
Чем это вызвано и как это исправить?
Как правильно понял Кароль, эта проблема уже встречалась ранее, и исправление заключалось в обновлении зависимости валидатора гибернации до более новой версии. Все, что мне нужно было, это добавить следующее свойство к моему родительскому pom:
<!-- needed for building with Java 11 -->
<hibernate-validator.version>6.0.12.Final</hibernate-validator.version>
pom.xml
вашего текущего модуляmumble-data-service-parent
. Вот где можно начать искать причину. Кроме того, если у него естьparent
, это может быть связано с управлением зависимостями. Или, возможно, ссылка на проект/MCVE для воспроизведения ошибки, о которой вы только что заявили, еще больше улучшит вопрос. - person Naman   schedule 18.12.2018