Не удается запустить javadoc из консоли на java 10

Я пытаюсь получить javadocs для своих классов прямо из консоли с помощью следующего кода javadoc -sourcepath ./src/main java.packageName. Эти классы имеют зависимости от внешних библиотек (например, junit.framework). Этот код легко скомпилировать из IntelliJ IDEA или через mvn clean install, но когда я пытаюсь создать javadocs, я сталкиваюсь с проблемой, что внешние классы и пакеты не могут быть распознаны (например, error: package junit.framework does not exist). Та же проблема возникает и с JDK 8, но там все равно генерируются предупреждения и javadocs.

Почему бы не использовать Maven для создания Javadoc? maven.apache.org/plugins/maven-javadoc-plugin

Slaw 23.12.2020 22:19

Использование плагина maven javadoc здесь, если вы решите пойти по этому пути вместо этого (как предлагает @Slaw): maven.apache.org/plugins/maven-javadoc-plugin/usage.html

Woodchuck 23.12.2020 22:37
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
0
2
488
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

«Этот код легко скомпилировать из intellij», просто используйте функцию JavaDoc из intellij. Он должен работать

Инструменты — Генерация JavaDoc

Ну, это работает, но мне нужно знать, как это сделать прямо из консоли. Он будет запускаться из скриптов sh

Eugen 23.12.2020 22:28

Понятно, тогда я бы также предложил использовать maven, как написал @Slaw.

Matze._ 23.12.2020 22:30
Ответ принят как подходящий

Есть два подхода, которые вы можете использовать, чтобы получить javadocs для сборки из командной строки:

  • Добавьте плагин maven-javadoc-plugin в файл POM вашего проекта, чтобы вы могли использовать (например) mvn javadoc:javadoc для создания javadocs. Смотрите документацию плагина для более подробной информации.

  • Запустите javadoc напрямую с правильными аргументами командной строки.

Я подозреваю, что есть несколько причин, по которым ваша текущая попытка не удалась:

  • Похоже, вы создаете javadocs для своего дерева src/test. Это может быть непреднамеренно.

    (Если приведенная выше «ошибка: ...» исходит из поколения src/main javadoc, я озадачен, почему ваш src/main исходный код ссылается на пакет junit.framework. Это могло бы сработать, но производственный код обычно не зависит от теста рамки.)

  • Вам нужно использовать опцию -classpath, чтобы указать javadoc, где найти внешние библиотеки.

Это было примерно -classpath. Кажется, нам нужно вручную передать все пути к классам

Eugen 24.12.2020 13:16

Другие вопросы по теме