Maven, javadoc: нет исходных файлов для пакета
Я пишу maven пакет со структурой каталогов
frtex
pom.xml
frtex/src/main/java/some-files.java
frtex/src/main/java/utils/some-other-files.java
Изготовление mvn test
работает отлично.
Моя проблема mvn javadoc:javadoc
который производит правильную документацию для файлов, содержащихся в frtex/src/main/java
но выдавая
[WARNING] javadoc: warning - No source files for package utils
Вот соответствующая (?) Часть моего pom.xml:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<version>2.10.4</version>
<configuration>
<groups>
<group>
<title>TI</title>
<packages>frtex.*</packages>
</group>
</groups>
<doclet>ch.raffael.doclets.pegdown.PegdownDoclet</doclet>
<docletArtifact>
<groupId>ch.raffael.pegdown-doclet</groupId>
<artifactId>pegdown-doclet</artifactId>
<version>1.1</version>
</docletArtifact>
<useStandardDocletOptions>true</useStandardDocletOptions>
</configuration>
</plugin>
в project/build/plugins
Что я должен сделать, чтобы maven/javadoc нашел файлы в src/main/java/utils
?
5 ответов
Это поздний ответ, но я столкнулся с той же проблемой.
Решение заключается в том, что вам нужно добавить следующее в ваш плагин внутри configuration
раздел
<configuration>
<sourcepath>src/main/java</sourcepath>
...
</configuration>
Хотя ответ locus2k работал у меня вначале, он лишь прикрывал реальную основную проблему, с которой я столкнулся с тем, что Javadoc не смог найти структуру каталогов.
В моем случае я создал в IntelliJ - по ошибке - единую структуру каталога с точками, разделяющими их, например:
src/main/java/wrong.folder.structure/
вместо:
src/main/java/right/folder/structure/
Свернутое представление в IntelliJ показывало обе структуры как одинаковые.
Может быть, проблема не всех, но это была моя.
Проблема не в вашей конфигурации maven.
Вы должны включить package-info.java
для пакета утилит.
Это файл, расположенный по адресу src/main/java/utils/package-info.java
это будет содержать Javadoc для пакета, в отличие от Javadoc для класса.
Для получения дополнительной информации о javadocs уровня пакета, вы можете прочитать документацию.
Эта проблема также может возникнуть, если вы используете более новую версию Java для сборки проекта, хотя в этом случае предупреждение является ошибкой, что приводит к сбою сборки. В моем случае я создавал проект Java 8 с JDK Java 12 (Bellsoft).
Чтобы решить эту проблему, вы можете использовать Java 8 JDK или, что лучше, добавить
<source>8</source>
к
configuration
раздел
maven-javadoc-plugin
(аналогично решению @ locus2k ).
Я еще не решил проблему, но могу сказать, что для меня это срабатывает, когда я добавляю
Multi-Release: true
в файл манифеста. Здесь есть некоторое обсуждение этого:
Java 11/12 Javadoc с maven приводит к тому, что не создается Javadocs для тестов