У меня установлено несколько JDK.
В моем build.gradle я установил sourceCompatibility = 1.8
, чтобы убедиться, что используется правильный. Это отлично работает.
Однако это, похоже, игнорируется задачей Javadoc (./gradlew javadoc
), которая завершается ошибкой (error: package sun.net.www.protocol.http is not visible
) - из этого вопроса Я узнал, что это проблема с новая функция в Java 9.
На данный момент проект нацелен только на Java 8. Однажды он будет обновлен до Java 9, но не сегодня, поэтому я просто хочу использовать генератор Java 8 javadoc вместо версии Java 9.
Я проверил документацию задачи , но похоже, что нет никакой возможности указать версию JDK. Что я могу сделать?
Я ожидаю, что решение будет в конфигурации Gradle, поэтому его легко можно использовать совместно с другими разработчиками на разных машинах.
Версия Gradle, в которой было замечено поведение (установлено через IntelliJ):
------------------------------------------------------------
Gradle 4.4
------------------------------------------------------------
Build time: 2017-12-06 09:05:06 UTC
Revision: cf7821a6f79f8e2a598df21780e3ff7ce8db2b82
Groovy: 2.4.12
Ant: Apache Ant(TM) version 1.9.9 compiled on February 2 2017
JVM: 10.0.1 (Oracle Corporation 10.0.1+10-Debian-4)
OS: Linux 4.16.0-2-amd64 amd64
Версия Gradle, в которой вместо сбоя задачи Javadoc было установлено предупреждение (установлено через репозитории Debian):
------------------------------------------------------------
Gradle 3.4.1
------------------------------------------------------------
Build time: 2012-12-21 00:00:00 UTC
Revision: none
Groovy: 2.4.15
Ant: Apache Ant(TM) version 1.10.3 compiled on June 13 2018
JVM: 10.0.1 (Oracle Corporation 10.0.1+10-Debian-4)
OS: Linux 4.16.0-2-amd64 amd64
Редактировать - я нашел эту страницу , которая указывает параметр "-source release ", который, вероятно, является решением этой проблемы, однако я не могу найти способ, которым он должен называться:
javadoc {
options.addStringOption('-source', '8')
}
Компилируется и запускается без предупреждений (в build.gradle
), но ничего не меняет и не появляется в /build/tmp/javadoc/javadoc.options
.