You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@maven.apache.org by "Robert Scholte (Jira)" <ji...@apache.org> on 2021/04/25 10:31:00 UTC
[jira] [Closed] (MJAVADOC-665) javadoc:javadoc does not work when
module-info.java is present but compile:compile has not been executed
[ https://issues.apache.org/jira/browse/MJAVADOC-665?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Robert Scholte closed MJAVADOC-665.
-----------------------------------
Assignee: Robert Scholte
Resolution: Duplicate
> javadoc:javadoc does not work when module-info.java is present but compile:compile has not been executed
> --------------------------------------------------------------------------------------------------------
>
> Key: MJAVADOC-665
> URL: https://issues.apache.org/jira/browse/MJAVADOC-665
> Project: Maven Javadoc Plugin
> Issue Type: Bug
> Components: javadoc
> Affects Versions: 3.2.0, 3.2.1
> Reporter: Thomas Weißschuh
> Assignee: Robert Scholte
> Priority: Minor
>
> Tested with 3.2.0 and master 6afe4bdf2b2e62b81
> When trying to execute "mvn javadoc:javadoc" without having executed "mvn compile" before the build fails with an error message.
> Test environment:
> {code:xml}
> <!-- pom.xml -->
> <?xml version="1.0" encoding="UTF-8"?>
> <project xmlns="http://maven.apache.org/POM/4.0.0"
> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
> xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
> <modelVersion>4.0.0</modelVersion>
> <groupId>org.example</groupId>
> <artifactId>example</artifactId>
> <version>1.0-SNAPSHOT</version>
> <properties>
> <java.compiler.release>11</java.compiler.release>
> <maven.compiler.source>11</maven.compiler.source>
> <maven.compiler.target>11</maven.compiler.target>
> </properties>
> <build>
> <pluginManagement>
> <plugins>
> <plugin>
> <groupId>org.apache.maven.plugins</groupId>
> <artifactId>maven-javadoc-plugin</artifactId>
> <version>3.2.0</version>
> </plugin>
> </plugins>
> </pluginManagement>
> </build>
> </project>
> {code}
> {code:java}
> // src/main/java/Foo.java
> /** Foo */
> public class Foo { }
> {code}
> Execute test without module-info.java works fine:
> {code:sh}
> $ mvn clean javadoc:javadoc
> ...
> [INFO] BUILD SUCCESS
> {code}
> Now add module-info.java:
> {code:sh}
> // src/main/java/module-info.java
> module org.example { }
> {code}
> Test again:
> {code:sh}
> $ mvn clean javadoc:javadoc
> [ERROR] Failed to execute goal org.apache.maven.plugins:maven-javadoc-plugin:3.2.0:javadoc (default-cli) on project example: An error has occurred in Javadoc report generation:
> [ERROR] Exit code: 1 - error: module not found: org.example
> [ERROR]
> [ERROR] Command line was: /usr/lib/jvm/java-11-openjdk/bin/javadoc @options @argfile
> [ERROR]
> [ERROR] Refer to the generated Javadoc files in '/tmp/testplug/target/site/apidocs' dir.
> {code}
> Test with compile step:
> {code:sh}
> $ mvn clean compile javadoc:javadoc
> [INFO] BUILD SUCCESS
> {code}
> Looking into "target/site/apidocs/options" the parameters
> "--module-source-path '/tmp/testplug/target/site/apidocs/src'" are passed to
> the javadoc tool.
> This directory contains a subdirectory for org.example which itself is empty
> however.
> If I manually symlink the module-info.class from my source directory to this
> directory the next run of "mvn javadoc:javadoc" succeeds.
> To me it seems AbstractJavadocMojo should link or copy the existing descriptor
> there.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)