Maven Javadoc Plugin
  1. Maven Javadoc Plugin
  2. MJAVADOC-292

javadoc:jar FATAL ERROR Host name may not be null

    Details

    • Type: Bug Bug
    • Status: Closed Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: 2.7
    • Fix Version/s: 2.8
    • Labels:
      None
    • Environment:
      Ubuntu 10.04 & Windows XP. Running maven 2.2.1 java 1.6.0_14
    • Patch Submitted:
      Yes
    • Number of attachments :
      1

      Description

      For some reason (that I have yet to determine) I am using a bad URL when linking to the jdk6 apidocs. This causes my javadoc:jar to terminate with a fatal error. This is doubly problematic because
      (a) the error message does not include the URL that is at fault; and
      (b) the build crashes out where other similar badly configured javadoc link URLs continue after emitting a warning message.

      [INFO] [INFO] [javadoc:jar {execution: attach-javadocs}]
      [INFO] [INFO] ------------------------------------------------------------------------
      [INFO] [ERROR] FATAL ERROR
      [INFO] [INFO] ------------------------------------------------------------------------
      [INFO] [INFO] Host name may not be null
      [INFO] [INFO] ------------------------------------------------------------------------
      [INFO] [INFO] Trace
      [INFO] java.lang.IllegalArgumentException: Host name may not be null
      [INFO] 	at org.apache.commons.httpclient.HttpHost.<init>(HttpHost.java:68)
      [INFO] 	at org.apache.commons.httpclient.HttpHost.<init>(HttpHost.java:107)
      [INFO] 	at org.apache.commons.httpclient.HttpMethodBase.setURI(HttpMethodBase.java:280)
      [INFO] 	at org.apache.commons.httpclient.HttpMethodBase.<init>(HttpMethodBase.java:220)
      [INFO] 	at org.apache.commons.httpclient.methods.GetMethod.<init>(GetMethod.java:89)
      [INFO] 	at org.apache.maven.plugin.javadoc.JavadocUtil.fetchURL(JavadocUtil.java:797)
      [INFO] 	at org.apache.maven.plugin.javadoc.AbstractJavadocMojo.isValidJavadocLink(AbstractJavadocMojo.java:5539)
      [INFO] 	at org.apache.maven.plugin.javadoc.AbstractJavadocMojo.addLinkArguments(AbstractJavadocMojo.java:3852)
      [INFO] 	at org.apache.maven.plugin.javadoc.AbstractJavadocMojo.addStandardDocletOptions(AbstractJavadocMojo.java:4617)
      [INFO] 	at org.apache.maven.plugin.javadoc.AbstractJavadocMojo.executeReport(AbstractJavadocMojo.java:1919)
      [INFO] 	at org.apache.maven.plugin.javadoc.JavadocJar.execute(JavadocJar.java:184)
      [INFO] 	at org.apache.maven.plugin.DefaultPluginManager.executeMojo(DefaultPluginManager.java:490)
      [INFO] 	at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(DefaultLifecycleExecutor.java:694)
      [INFO] 	at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalWithLifecycle(DefaultLifecycleExecutor.java:556)
      [INFO] 	at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoal(DefaultLifecycleExecutor.java:535)
      [INFO] 	at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalAndHandleFailures(DefaultLifecycleExecutor.java:387)
      [INFO] 	at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeTaskSegments(DefaultLifecycleExecutor.java:348)
      [INFO] 	at org.apache.maven.lifecycle.DefaultLifecycleExecutor.execute(DefaultLifecycleExecutor.java:180)
      [INFO] 	at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:328)
      [INFO] 	at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:138)
      [INFO] 	at org.apache.maven.cli.MavenCli.main(MavenCli.java:362)
      [INFO] 	at org.apache.maven.cli.compat.CompatibleMain.main(CompatibleMain.java:60)
      [INFO] 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      [INFO] 	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
      [INFO] 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
      [INFO] 	at java.lang.reflect.Method.invoke(Method.java:597)
      [INFO] 	at org.codehaus.classworlds.Launcher.launchEnhanced(Launcher.java:315)
      [INFO] 	at org.codehaus.classworlds.Launcher.launch(Launcher.java:255)
      [INFO] 	at org.codehaus.classworlds.Launcher.mainWithExitCode(Launcher.java:430)
      [INFO] 	at org.codehaus.classworlds.Launcher.main(Launcher.java:375)

      I have attached a patch that catches the IllegalArgumentException that is thrown by httpclient and logs a suitable error message. I suspect that this is not the best way to fix the issue because it might mask other errors but it certainly gets me past my immediate issue.

      With the patch applied the fatal error becomes a single line as follows and the build continues.

      [ERROR] Malformed link: http:///jdk6.dev.java.net/apidocs/package-list. Ignored it.

      I have tested with both 2.7 and trunk and have confirmed that the problem exists in both and that the patch works on both.

        Activity

        Hide
        Herve Boutemy added a comment -

        fixed with MJAVADOC-317: the link is not checked by the plugin but javadoc tool

        Show
        Herve Boutemy added a comment - fixed with MJAVADOC-317 : the link is not checked by the plugin but javadoc tool

          People

          • Assignee:
            Herve Boutemy
            Reporter:
            Richard Mortimer
          • Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved: