Javadoc 11 - изгой? - PullRequest
       49

Javadoc 11 - изгой?

2 голосов
/ 28 сентября 2019

Я хочу скомпилировать javadoc для пакетов testfx.

Итак, я беру исходные файлы jar и extract (testfx-core-4.0.15-alpha-sources.jar, testfx-junit-4.0.15-alpha-sources.jar).

Я обнаружил, что все эти пакеты запускаются как "org.testfx ....", поэтому соедините их все вместе ... затем я иду:

mike@M17A ~/Desktop/temp $  javadoc -d docs -Xmaxwarns 10  -Xdoclint:none -sourcepath . -subpackages org

В нем перечислены 100 ошибок следующего типа:

**  symbol:   class TextFlow
  location: class TextFlowMatchers
./org/testfx/matcher/control/TextFlowMatchers.java:157: error: cannot find symbol
    private static boolean hasText(TextFlow textFlow, String string) {
**

... и затем останавливается.Никакой Javadoc не производится!Это (очевидно) классы, которые находятся за пределами пакетов, которые я пытаюсь документировать.Я не хочу никаких гиперссылок для них, просто напишите их без ссылок, пожалуйста.

NB Я ранее использовал другой ключ, -Xmaxerrs 10, в командной строке.Это просто ограничивает список ошибок до 10, но опять же сам Javadoc не создается.

Этот метод используется для работы.Я только что обновил (?) До Java 11. Это, кажется, плохо знакомо с Java 11. Кто-нибудь знает, как преодолеть эту ерунду?

позже, в ответ на Slaw

Мне очень нравится иметь локальные копии справочных документов всех модулей и платформ и т. Д., Которые я использую, на всех языках.Я не знал о ссылках на онлайн Javadoc.Я мог бы использовать HTTrack, чтобы скопировать этот конкретный веб-сайт и сделать локальную копию.

Я попробовал другой путь: клонировать репозиторий git и запустить ./gradlew aggregateJavadoc.К сожалению, это не удалось:

mike@M17A ~/Desktop/temp2/TestFX $  ./gradlew aggregateJavadoc
> Task :aggregateJavadoc FAILED

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':aggregateJavadoc'.
> /home/mike/Desktop/temp2/TestFX/docs/javadoc does not exist

... перед тем, как вы спросите, да, я попытался создать папку / javadoc там, но задача удалила ее, а затем снова пожаловалась, что она не существует!1034 * Я также попробовал простую задачу javadoc.Это также не удалось:

mike@M17A ~/Desktop/temp2/TestFX $  ./gradlew javadoc

> Task :testfx-core:compileModuleInfoJava
/home/mike/Desktop/temp2/TestFX/subprojects/testfx-core/src/main/java/module-info.java:37: 
warning: requires transitive directive for an automatic module
    requires transitive org.hamcrest;
                           ^
1 warning

> Task :testfx-core:javadoc FAILED
/home/mike/Desktop/temp2/TestFX/subprojects/testfx-core/src/main/java/module-info.java:36:
error: module not found: org.assertj.core
    requires static org.assertj.core;
                               ^
1 error

обходной путь

К счастью, мне удалось заручиться поддержкой установки Java 8, которая все еще включенамоя система, в моем случае: / usr / lib / jvm / java-8-openjdk-amd64 / javadoc.Очевидно, я создам символическую ссылку.Дополнительное преимущество использования Java 8: мне лично больше нравится версия Javadocs с фреймами, то есть с пакетами и классами, перечисленными в левых фреймах.

Заключение

Что могло побудить блестящих людей (не иронично), стоящих за Java, модифицировать подобные вещи?Я достаточно внимательно посмотрел на доступные переключатели и опции для javadoc v. 11. Ничто не позволяет вам сделать простой, э-э, Javadoc, который, как я предполагал, был целью утилиты javadoc.

...