Uploaded image for project: 'Maven Javadoc Plugin'
  1. Maven Javadoc Plugin
  2. MJAVADOC-427

"Error fetching URL" for valid non-Java API links

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: 2.10.3
    • Fix Version/s: 3.0.1
    • Component/s: None
    • Labels:
      None
    • Environment:
      Windows 7
      Apache Maven 3.2.1
      java version "1.8.0_05"
      Java(TM) SE Runtime Environment (build 1.8.0_05-b13)
      Java HotSpot(TM) 64-Bit Server VM (build 25.5-b02, mixed mode)

      Description

      When I generate Javadoc for a simple project with 3rd party dependencies, no configuration generates links for these dependencies. For valid Javadoc links which have a package-list, I get the following error:

      [WARNING] javadoc: warning - Error fetching URL

      Test Cases w/ results (sample project(s)) attached:

      1. No manual link configuration. 'detectLinks' is set to true.

      pom.xml - No manual link configuration with detectLinks=true
      <plugin>
                      <groupId>org.apache.maven.plugins</groupId>
                      <artifactId>maven-javadoc-plugin</artifactId>
                      <version>2.10.3</version>
                      <configuration>
                          <reportOutputDirectory>${project.basedir}/target</reportOutputDirectory>
                          <destDir>javadoc</destDir>
                          <windowtitle>Epiphany</windowtitle>
                          <doctitle>Epiphany</doctitle>
                          <show>private</show>
                          <detectLinks>true</detectLinks>
                          <detectOfflineLinks>true</detectOfflineLinks>
                          <linksource>true</linksource>
                          <detectJavaApiLink>true</detectJavaApiLink>
                      </configuration>
                      <executions>
                          <execution>
                              <goals>
                                  <goal>javadoc</goal>
                                  <goal>test-javadoc</goal>
                              </goals>
                          </execution>
                      </executions>
                  </plugin>
      

      Output of 'mvn javadoc:javadoc':

      Resulting output for mvn javadoc:javadoc - No manual link configuration with detectLinks=true
      [INFO] Scanning for projects...
      [INFO]
      [INFO] Using the builder org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder with a thread count of 1
      [INFO]
      [INFO] ------------------------------------------------------------------------
      [INFO] Building epiphany 1.0-SNAPSHOT
      [INFO] ------------------------------------------------------------------------
      [INFO]
      [INFO] >>> maven-javadoc-plugin:2.10.3:javadoc (default-cli) @ epiphany >>>
      [INFO]
      [INFO] <<< maven-javadoc-plugin:2.10.3:javadoc (default-cli) @ epiphany <<<
      
      ....SNIP DOWNLOADING INFO.....
      
      [INFO]
      [INFO] --- maven-javadoc-plugin:2.10.3:javadoc (default-cli) @ epiphany ---
      [ERROR] Error fetching link: http://selenium.googlecode.com/selenium-java/apidocs/package-list. Ignored it.
      [ERROR] Error fetching link: http://selenium.googlecode.com/selenium-api/apidocs/package-list. Ignored it.
      [ERROR] Error fetching link: http://selenium.googlecode.com/selenium-support/apidocs/package-list. Ignored it.
      [ERROR] Error fetching link: http://code.google.com/p/guava-libraries/guava/apidocs/package-list. Ignored it.
      [ERROR] Error fetching link: http://logback.qos.ch/logback-core/apidocs/package-list. Ignored it.
      [ERROR] Error fetching link: http://logback.qos.ch/logback-classic/apidocs/package-list. Ignored it.
      [ERROR] Error fetching link: http://testng.org/apidocs/package-list. Ignored it.
      [INFO]
      Loading source files for package com.example...
      Constructing Javadoc information...
      Standard Doclet version 1.8.0_05
      Building tree for all the packages and classes...
      Generating C:\Users\sephilli\git\javadoc-bug\target\javadoc\com\example\AbstractLoadable.html...
      
      .....SNIP....
      
      1 warning
      [WARNING] Javadoc Warnings
      [WARNING] javadoc: warning - Error fetching URL: http://www.slf4j.org/apidocs
      [INFO] ------------------------------------------------------------------------
      [INFO] BUILD SUCCESS
      [INFO] ------------------------------------------------------------------------
      [INFO] Total time: 13.694 s
      [INFO] Finished at: 2015-04-18T08:24:05-05:00
      [INFO] Final Memory: 16M/92M
      [INFO] ------------------------------------------------------------------------
      

      I expected that the plugin would fail to find javadoc to link for Selenium, Logback, Guava and TestNg, but to succeed in fetching Javadoc for SLF4Jj. The detected link for SLF4J is a valid javadoc link with a package-list located at the detected link:

      http://www.slf4j.org/apidocs/
      http://www.slf4j.org/apidocs/package-list

      However, there is a error fetching the URL and the resulting javadoc does not have links for SLF4J:

          log
          private static final org.slf4j.ext.XLogger log
          The logger for the AbstractLoadable class
      

      2. Manual link configuration for dependencies with javadoc that is not automatically detected with 'detectLinks' is set to true. No trailing slashes in manually configured links.

      pom.xml - Manual link configuration with detectLinks=true. No trailing slashes in links
      <plugin>
                      <groupId>org.apache.maven.plugins</groupId>
                      <artifactId>maven-javadoc-plugin</artifactId>
                      <version>2.10.3</version>
                      <configuration>
                          <reportOutputDirectory>${project.basedir}/target</reportOutputDirectory>
                          <destDir>javadoc</destDir>
                          <windowtitle>Epiphany</windowtitle>
                          <doctitle>Epiphany</doctitle>
                          <show>private</show>
                          <detectLinks>true</detectLinks>
                          <detectOfflineLinks>true</detectOfflineLinks>
                          <linksource>true</linksource>
                          <detectJavaApiLink>true</detectJavaApiLink>
                          <links>
                              <link>https://selenium.googlecode.com/git/docs/api/java</link>
                              <link>http://testng.org/javadocs</link>
                              <link>http://logback.qos.ch/apidocs</link>
                              <link>http://docs.guava-libraries.googlecode.com/git/javadoc</link>                       
                          </links>
                      </configuration>
                      <executions>
                          <execution>
                              <goals>
                                  <goal>javadoc</goal>
                                  <goal>test-javadoc</goal>
                              </goals>
                          </execution>
                      </executions>
                  </plugin>
      

      Output from mvn javadoc:javadoc:

      Resulting output for mvn javadoc:javadoc - Manual link configuration with detectLinks=true, no trailing slashes
      [INFO] Scanning for projects...
      [INFO]
      [INFO] Using the builder org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder with a thread count of 1
      [INFO]
      [INFO] ------------------------------------------------------------------------
      [INFO] Building epiphany 1.0-SNAPSHOT
      [INFO] ------------------------------------------------------------------------
      [INFO]
      [INFO] >>> maven-javadoc-plugin:2.10.3:javadoc (default-cli) @ epiphany >>>
      [INFO]
      [INFO] <<< maven-javadoc-plugin:2.10.3:javadoc (default-cli) @ epiphany <<<
      ....SNIP DOWNLOADING INFO ....
      [INFO]
      [INFO] --- maven-javadoc-plugin:2.10.3:javadoc (default-cli) @ epiphany ---
      [ERROR] Error fetching link: http://selenium.googlecode.com/selenium-java/apidocs/package-list. Ignored it.
      [ERROR] Error fetching link: http://selenium.googlecode.com/selenium-api/apidocs/package-list. Ignored it.
      [ERROR] Error fetching link: http://selenium.googlecode.com/selenium-support/apidocs/package-list. Ignored it.
      [ERROR] Error fetching link: http://code.google.com/p/guava-libraries/guava/apidocs/package-list. Ignored it.
      [ERROR] Error fetching link: http://logback.qos.ch/logback-core/apidocs/package-list. Ignored it.
      [ERROR] Error fetching link: http://logback.qos.ch/logback-classic/apidocs/package-list. Ignored it.
      [ERROR] Error fetching link: http://testng.org/apidocs/package-list. Ignored it.
      [INFO]
      Loading source files for package com.example...
      Constructing Javadoc information...
      Standard Doclet version 1.8.0_05
      Building tree for all the packages and classes...
      Generating C:\Users\sephilli\git\javadoc-bug\target\javadoc\com\example\AbstractLoadable.html...
      .....SNIP......
      5 warnings
      [WARNING] Javadoc Warnings
      [WARNING] javadoc: warning - Error fetching URL: https://selenium.googlecode.com/git/docs/api/java
      [WARNING] javadoc: warning - Error fetching URL: http://testng.org/javadocs
      [WARNING] javadoc: warning - Error fetching URL: http://logback.qos.ch/apidocs
      [WARNING] javadoc: warning - Error fetching URL: http://docs.guava-libraries.googlecode.com/git/javadoc
      [WARNING] javadoc: warning - Error fetching URL: http://www.slf4j.org/apidocs
      [INFO] ------------------------------------------------------------------------
      [INFO] BUILD SUCCESS
      [INFO] ------------------------------------------------------------------------
      [INFO] Total time: 01:18 min
      [INFO] Finished at: 2015-04-18T09:05:08-05:00
      [INFO] Final Memory: 16M/95M
      [INFO] ------------------------------------------------------------------------
      
      

      The manually configured links are all valid javadoc links with package-list present at that location, but resulting javadoc does not link third-party doc for dependencies:

          driver
          @Nonnull
          private final org.openqa.selenium.WebDriver driver
      
          The driver for browsing this AbstractLoadable
      

      3. Manual link configuration for dependencies with javadoc that is not automatically detected with 'detectLinks' is set to true. Trailing slashes in manually configured links

      pom.xml - Manual link configuration with detectLinks=true. Trailing slashes in links
      <plugin>
                      <groupId>org.apache.maven.plugins</groupId>
                      <artifactId>maven-javadoc-plugin</artifactId>
                      <version>2.10.3</version>
                      <configuration>
                          <reportOutputDirectory>${project.basedir}/target</reportOutputDirectory>
                          <destDir>javadoc</destDir>
                          <windowtitle>Epiphany</windowtitle>
                          <doctitle>Epiphany</doctitle>
                          <show>private</show>
                          <detectLinks>true</detectLinks>
                          <detectOfflineLinks>true</detectOfflineLinks>
                          <linksource>true</linksource>
                          <detectJavaApiLink>true</detectJavaApiLink>
                          <links>
                              <link>https://selenium.googlecode.com/git/docs/api/java/</link>
                              <link>http://testng.org/javadocs/</link>
                              <link>http://logback.qos.ch/apidocs/</link>
                              <link>http://docs.guava-libraries.googlecode.com/git/javadoc/</link>                       
                          </links>
                      </configuration>
                      <executions>
                          <execution>
                              <goals>
                                  <goal>javadoc</goal>
                                  <goal>test-javadoc</goal>
                              </goals>
                          </execution>
                      </executions>
                  </plugin>
      

      Output from mvn javadoc:javadoc:

      Resulting output for mvn javadoc:javadoc - Manual link configuration with detectLinks=true, trailing slashes
      [INFO] Scanning for projects...
      [INFO]
      [INFO] Using the builder org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder with a thread count of 1
      [INFO]
      [INFO] ------------------------------------------------------------------------
      [INFO] Building epiphany 1.0-SNAPSHOT
      [INFO] ------------------------------------------------------------------------
      [INFO]
      [INFO] >>> maven-javadoc-plugin:2.10.3:javadoc (default-cli) @ epiphany >>>
      [INFO]
      [INFO] <<< maven-javadoc-plugin:2.10.3:javadoc (default-cli) @ epiphany <<<
      ...SNIP DOWNLOADING INFO ...
      [INFO]
      [INFO] --- maven-javadoc-plugin:2.10.3:javadoc (default-cli) @ epiphany ---
      [ERROR] Error fetching link: http://selenium.googlecode.com/selenium-java/apidocs/package-list. Ignored it.
      [ERROR] Error fetching link: http://selenium.googlecode.com/selenium-api/apidocs/package-list. Ignored it.
      [ERROR] Error fetching link: http://selenium.googlecode.com/selenium-support/apidocs/package-list. Ignored it.
      [ERROR] Error fetching link: http://code.google.com/p/guava-libraries/guava/apidocs/package-list. Ignored it.
      [ERROR] Error fetching link: http://logback.qos.ch/logback-core/apidocs/package-list. Ignored it.
      [ERROR] Error fetching link: http://logback.qos.ch/logback-classic/apidocs/package-list. Ignored it.
      [ERROR] Error fetching link: http://testng.org/apidocs/package-list. Ignored it.
      [INFO]
      Loading source files for package com.example...
      Constructing Javadoc information...
      Standard Doclet version 1.8.0_05
      Building tree for all the packages and classes...
      Generating C:\Users\sephilli\git\javadoc-bug\target\javadoc\com\example\AbstractLoadable.html...
      ....SNIP....
      5 warnings
      [WARNING] Javadoc Warnings
      [WARNING] javadoc: warning - Error fetching URL: https://selenium.googlecode.com/git/docs/api/java
      [WARNING] javadoc: warning - Error fetching URL: http://testng.org/javadocs
      [WARNING] javadoc: warning - Error fetching URL: http://logback.qos.ch/apidocs
      [WARNING] javadoc: warning - Error fetching URL: http://docs.guava-libraries.googlecode.com/git/javadoc
      [WARNING] javadoc: warning - Error fetching URL: http://www.slf4j.org/apidocs
      [INFO] ------------------------------------------------------------------------
      [INFO] BUILD SUCCESS
      [INFO] ------------------------------------------------------------------------
      [INFO] Total time: 01:18 min
      [INFO] Finished at: 2015-04-18T09:20:17-05:00
      [INFO] Final Memory: 16M/110M
      [INFO] ------------------------------------------------------------------------
      

      Resulting javadoc does not link the javadoc for the 3rd party dependencies.

      Test Case 4: detectLinks= false + manually configured links without trailing slashes

      Result is the same. I won't post the pom and the output here because the sample project(s) are attached and the result is not different from the previous test cases. Errors are reporting for attempts to fetch all of the URLs.

      Test Case 5: detectLinks-false + manually configured links with trailing slashes.

      Result is the same.

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                gboue Guillaume Boué
                Reporter:
                selenareneephillips Selena Renee Phillips
              • Votes:
                17 Vote for this issue
                Watchers:
                19 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: