Maven 2 & 3
  1. Maven 2 & 3
  2. MNG-3616

Null Pointer Exception when mirrorOf missing from mirror in settings.xml

    Details

    • Type: Bug Bug
    • Status: Closed Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: 2.0.9
    • Fix Version/s: 3.0-beta-1
    • Component/s: None
    • Labels:
      None
    • Complexity:
      Intermediate
    • Number of attachments :
      0

      Description

      When attempting to generate any archetype from the mvn archetype:generate command I get a null pointer exception thrown if I have mirrors defined in my settings.xml file but fail to have the mirrorOf element set.

      The stack trace for the archetype generation is:

      Choose a number: (1/2/3/4/5/6/7/8/9/10/11/12/13/14/15/16/17/18/19/20/21/22/23/2
      4/25/26/27/28/29/30/31/32/33/34/35/36/37/38/39/40/41/42/43/44) 15: : 6
      [INFO] ------------------------------------------------------------------------
      [ERROR] BUILD FAILURE
      [INFO] ------------------------------------------------------------------------
      [INFO] : java.lang.NullPointerException
      null
      [INFO] ------------------------------------------------------------------------
      [INFO] Trace
      org.apache.maven.BuildFailureException
      at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(Defa
      ultLifecycleExecutor.java:579)
      at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeStandalone
      Goal(DefaultLifecycleExecutor.java:512)
      at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoal(Defau
      ltLifecycleExecutor.java:482)
      at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalAndHan
      dleFailures(DefaultLifecycleExecutor.java:330)
      at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeTaskSegmen
      ts(DefaultLifecycleExecutor.java:227)
      at org.apache.maven.lifecycle.DefaultLifecycleExecutor.execute(DefaultLi
      fecycleExecutor.java:142)
      at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:336)
      at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:129)
      at org.apache.maven.cli.MavenCli.main(MavenCli.java:287)
      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.
      java:39)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces
      sorImpl.java:25)
      at java.lang.reflect.Method.invoke(Method.java:585)
      at org.codehaus.classworlds.Launcher.launchEnhanced(Launcher.java:315)
      at org.codehaus.classworlds.Launcher.launch(Launcher.java:255)
      at org.codehaus.classworlds.Launcher.mainWithExitCode(Launcher.java:430)

      at org.codehaus.classworlds.Launcher.main(Launcher.java:375)
      Caused by: org.apache.maven.plugin.MojoFailureException
      at org.apache.maven.archetype.mojos.CreateProjectFromArchetypeMojo.execu
      te(CreateProjectFromArchetypeMojo.java:202)
      at org.apache.maven.plugin.DefaultPluginManager.executeMojo(DefaultPlugi
      nManager.java:451)
      at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(Defa
      ultLifecycleExecutor.java:558)
      ... 16 more
      [INFO] ------------------------------------------------------------------------
      [INFO] Total time: 7 seconds
      [INFO] Finished at: Wed May 28 17:49:39 EST 2008
      [INFO] Final Memory: 8M/14M
      [INFO] ------------------------------------------------------------------------

      C:\Documents and Settings\frank\My Documents\Development\Sandbox>mvn -v
      Maven version: 2.0.9
      Java version: 1.5.0_08
      OS name: "windows xp" version: "5.1" arch: "x86" Family: "windows"

      The mirrored settings from the settings.xml file are:

      <mirrors>
      <mirror>
      <id>nexus-central</id>
      <url>http://maven.ho.bushlife.com.au:8081/nexus/content/groups/public</url>
      </mirror>
      </mirrors>

      As a user you receive a null pointer exception because of something missing in the settings.xml file.

      At the very least you should receive an error message indicating the problem. If you can have a situation where the mirrorOf setting is optional, then it should not be throwing a null pointer exception but handling it better.

        Issue Links

          Activity

          Hide
          Paul Benedict added a comment -

          I am pretty sure this was fixed in 2.0.10

          Show
          Paul Benedict added a comment - I am pretty sure this was fixed in 2.0.10
          Hide
          Brett Porter added a comment -

          just tested, no, it is not fixed in 2.0.10

          Show
          Brett Porter added a comment - just tested, no, it is not fixed in 2.0.10
          Hide
          Paul Benedict added a comment -

          Didn't the upgrade to alpha-18 + of modello put in strict validation?

          Show
          Paul Benedict added a comment - Didn't the upgrade to alpha-18 + of modello put in strict validation?
          Hide
          Brett Porter added a comment -

          yes, I'm not sure why it's not working, just that it is not.

          Show
          Brett Porter added a comment - yes, I'm not sure why it's not working, just that it is not.
          Hide
          Paul Benedict added a comment -

          I removed all my <mirrorOf> tags in settings.xml and did not receive this error on 2.0.10.

          Show
          Paul Benedict added a comment - I removed all my <mirrorOf> tags in settings.xml and did not receive this error on 2.0.10.
          Hide
          Brett Porter added a comment -

          did you ensure it had to download an artifact?

          Show
          Brett Porter added a comment - did you ensure it had to download an artifact?
          Hide
          Benjamin Bentmann added a comment -

          Fixed in r929083 by strengthening settings validation to capture this up front.

          Show
          Benjamin Bentmann added a comment - Fixed in r929083 by strengthening settings validation to capture this up front.

            People

            • Assignee:
              Benjamin Bentmann
              Reporter:
              Frank Adcock
            • Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: