5

我正在编写一个具有目录结构的 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

4

5 回答 5

7

这是一个迟到的回应,但我刚刚遇到了同样的问题。

解决方案是您需要将以下内容添加到该configuration部分内的插件中

<configuration>
   <sourcepath>src/main/java</sourcepath>
   ...
</configuration>
于 2019-01-31T18:23:59.253 回答
5

问题不在您的 Maven 配置中。

您需要package-info.java为 utils 包包含一个。

它是一个src/main/java/utils/package-info.java包含包的 javadoc 的文件,与类的 javadoc 不同。

有关包级 javadocs 的更多信息,您可以阅读文档

于 2016-06-22T03:41:17.130 回答
3

尽管locus2k 的答案一开始对我有用,但它只是掩盖了我遇到的 Javadoc 无法找到目录结构的真正潜在问题。

就我而言,我在 IntelliJ 中错误地创建了一个 dir 结构,其中用点分隔它们,例如:src/main/java/wrong.folder.structure/而不是: src/main/java/right/folder/structure/

IntelliJ 中的折叠视图将两种结构显示为相同。

也许不是每个人的问题,但它是我的。

于 2021-02-17T15:53:34.453 回答
1

如果您使用较新的 Java 版本来构建项目,也可能会出现此问题,尽管警告是错误的,这会使构建失败。就我而言,我正在使用 Java 12 (Bellsoft) JDK 构建 Java 8 项目。

要解决这个问题,您可以使用 Java 8 JDK,或者更好地添加<source>8</source>到(类似于 @locus2k解决方案configuration)的部分。maven-javadoc-plugin

于 2021-02-12T11:13:31.480 回答
0

我还没有解决这个问题,但我可以说这是在我添加Multi-Release: true到清单文件时触发的。这里有一些讨论:

带有 maven 的 Java 11/12 Javadoc 导致不生成用于测试的 Javadocs

于 2021-10-02T22:47:53.583 回答