Gradle, Javadoc и JDK версия - PullRequest
       25

Gradle, Javadoc и JDK версия

0 голосов
/ 02 июля 2018

У меня установлено несколько 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.

1 Ответ

0 голосов
/ 05 июля 2018

Я изменил версию, доступную в пути, выполнив:

export JAVA_HOME=/usr/lib/jvm/default-java
...