Почему сборка Gradle завершается неудачно с зависимостями java11 и jfreechart? - PullRequest
0 голосов
/ 11 декабря 2018

У меня есть приложение на Java 8, которое я хочу перенести в Java 11. Сборка Gradle 5.0 содержит зависимость от JFreeChart 1.5.0, а JAVA_HOME установлен на установленный jdk-11.0.1 из Oracle.При построении получить следующий вывод:

> Task :nemclient:compileJava
error: clone() in AbstractXYItemRenderer cannot implement clone() in PublicCloneable
attempting to assign weaker access privileges; was public

Класс AbstractXYItemRenderer предоставляется библиотекой JFreeChart.Есть два вопроса:

  • Почему сборка все-таки жалуется?Поскольку я не предполагаю, что Gradle пытается собрать библиотеку (источник библиотеки здесь не указан), что вызывает эту ошибку?
  • Анализ исходного кода библиотеки показывает, что класс AbstractXYItemRenderer не реализует интерфейс PublicClone вообще, ни прямо, ни косвенно.

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

Кстати: у того же проекта в Eclipse (с использованием плагина Java 11 и упомянутого jdk-11.0.1) нет проблем компиляции.

...