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

javadoc:jar FATAL ERROR Host name may not be null

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Fixed
    • 2.7
    • 2.8
    • None
    • None
    • Ubuntu 10.04 & Windows XP. Running maven 2.2.1 java 1.6.0_14
    • Patch

    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.

      Attachments

        1. maven-javadoc-null-host.patch
          0.7 kB
          Richard Mortimer

        Activity

          People

            hboutemy Herve Boutemy
            oldelvet Richard Mortimer
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: