Maven、javadoc:没有包的源文件

Lau*_*ens 4 java maven-javadoc-plugin

我正在编写一个带有目录结构的 maven

frtex
   pom.xml
frtex/src/main/java/some-files.java
frtex/src/main/java/utils/some-other-files.java
Run Code Online (Sandbox Code Playgroud)

制作mvn test效果很好。

我的问题是mvn javadoc:javadoc为包含在frtex/src/main/java但发出的文件中生成正确的文档

[WARNING] javadoc: warning - No source files for package utils
Run Code Online (Sandbox Code Playgroud)

这是我的 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>
Run Code Online (Sandbox Code Playgroud)

project/build/plugins

我应该怎么做才能让 maven/javadoc 在src/main/java/utils.

loc*_*s2k 7

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

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

<configuration>
   <sourcepath>src/main/java</sourcepath>
   ...
</configuration>
Run Code Online (Sandbox Code Playgroud)

  • 知道为什么这应该起作用会很有趣,因为它是默认路径。 (4认同)
  • 奇怪的是,这确实有帮助。我从父 pom 继承这个,所以在某些情况下可能没有设置默认值 (3认同)

Mig*_*uiz 6

虽然locus2k的答案一开始对我有用,但它只是掩盖了我遇到的真正的根本问题,即Javadoc无法找到目录结构。

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

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

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


Edw*_*uck 5

问题不在于您的 Maven 配置。

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

它是一个位于 的文件,src/main/java/utils/package-info.java其中包含包的 javadoc,与类的 javadoc 形成对比。

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