Laurent Claessens
Laurent Claessens

Reputation: 695

Maven, javadoc : No source files for package

I'm writing a maven package with directory structure

frtex
   pom.xml
frtex/src/main/java/some-files.java
frtex/src/main/java/utils/some-other-files.java

Making mvn test works fine.

My problem is mvn javadoc:javadoc that produces the right documentation for the files contained in frtex/src/main/java but issuing

[WARNING] javadoc: warning - No source files for package utils

Here is the relevant(?) part of my 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>

in project/build/plugins

What should I do to make maven/javadoc found the files in src/main/java/utils ?

Upvotes: 8

Views: 18038

Answers (4)

Miguel Ruiz
Miguel Ruiz

Reputation: 488

Although locus2k's answer worked for me in the beginning, it was only covering up the real underlying issue I had with Javadoc not being able to find the directory structure.

In my case, I created in IntelliJ -by mistake- a single dir structure with dots separating them, like: src/main/java/wrong.folder.structure/ instead of: src/main/java/right/folder/structure/

The collapsed view in IntelliJ was showing both structures as the same.

Maybe not everyone's issue, but it was mine.

Upvotes: 6

Archangel1C
Archangel1C

Reputation: 120

This problem can also occur, if you use a newer Java version to build the project, though the warning is an error then, which makes the build fail. In my case, I was building a Java 8 project with a Java 12 (Bellsoft) JDK.

To solve this, you could either use a Java 8 JDK or, perhaps better, add <source>8</source> to the configuration section of the maven-javadoc-plugin (similar to @locus2k solution).

Upvotes: 3

locus2k
locus2k

Reputation: 2935

This is a late response, but I just ran into the same issue.

The solution is you need to add the following to your plugin inside the configuration section

<configuration>
   <sourcepath>src/main/java</sourcepath>
   ...
</configuration>

Upvotes: 12

Edwin Buck
Edwin Buck

Reputation: 70959

The problem is not in your maven configuration.

You need to include a package-info.java for the utils package.

It is a file located at src/main/java/utils/package-info.java that will contain the javadoc for the package, in contrast to the javadoc for a class.

For more information about package-level javadocs, you can read the documentation.

Upvotes: 5

Related Questions