Maven Archetype
  1. Maven Archetype
  2. ARCHETYPE-327

Inadequate error diagnosis for archetype problems

    Details

    • Type: Bug Bug
    • Status: Closed
    • Priority: Minor Minor
    • Resolution: Fixed
    • Affects Version/s: 2.0-alpha-5
    • Fix Version/s: 2.0
    • Component/s: Creator
    • Labels:
      None
    • Environment:
      JDK 6u21, Ubuntu, Maven 3.0 beta 3.
    • Flags:
      Patch

      Description

      See https://netbeans.org/bugzilla/show_bug.cgi?id=190033 for background. If you run the command listed there with a clean repository under Maven 3.0 beta 3, you get an error, but maven-archetype-plugin does not really help you track it down. Turns out there is a ZipException due to a *.jar file actually being an HTTP error message, but the closest you get is

      ...
      [DEBUG] Found archetype org.codehaus.mojo.archetypes:webapp-javaee6:1.1 in cache: ~/.m2/repository/org/codehaus/mojo/archetypes/webapp-javaee6/1.1/webapp-javaee6-1.1.jar
      [ERROR] Failed to close zipFile
      ...
      org.apache.maven.plugin.MojoFailureException: The defined artifact is not an archetype
          at org.apache.maven.archetype.mojos.CreateProjectFromArchetypeMojo.execute(CreateProjectFromArchetypeMojo.java:204)
          at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:107)
          at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145)
      

      With the attached patch, you get more information:

      ...
      [DEBUG] checking archetype status on ~/.m2/repository/org/codehaus/mojo/archetypes/webapp-javaee6/1.1/webapp-javaee6-1.1.jar
      ...
      [DEBUG] failed
      org.apache.maven.archetype.exception.UnknownArchetype: java.util.zip.ZipException: error in opening zip file
      	at org.apache.maven.archetype.common.DefaultArchetypeArtifactManager.getArchetypeZipFile(DefaultArchetypeArtifactManager.java:172)
      	at org.apache.maven.archetype.common.DefaultArchetypeArtifactManager.isOldArchetype(DefaultArchetypeArtifactManager.java:263)
      	at org.apache.maven.archetype.ui.DefaultArchetypeGenerationConfigurator.configureArchetype(DefaultArchetypeGenerationConfigurator.java:142)
      	at org.apache.maven.archetype.mojos.CreateProjectFromArchetypeMojo.execute(CreateProjectFromArchetypeMojo.java:188)
      ...
      org.apache.maven.plugin.MojoFailureException: The defined artifact is not an archetype
      	at org.apache.maven.archetype.mojos.CreateProjectFromArchetypeMojo.execute(CreateProjectFromArchetypeMojo.java:204)
      	at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:107)
      	at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145)
      	... 19 more
      Caused by: org.apache.maven.archetype.exception.ArchetypeGenerationConfigurationFailure: The defined artifact is not an archetype
      	at org.apache.maven.archetype.ui.DefaultArchetypeGenerationConfigurator.configureArchetype(DefaultArchetypeGenerationConfigurator.java:154)
      	at org.apache.maven.archetype.mojos.CreateProjectFromArchetypeMojo.execute(CreateProjectFromArchetypeMojo.java:188)
      ...
      
      1. ARCHETYPE-327.diff
        0.7 kB
        Jesse Glick
      2. maven-archetype-plugin-diagnosis.diff
        3 kB
        Jesse Glick

        Activity

        Jesse Glick created issue -
        Hervé Boutemy made changes -
        Field Original Value New Value
        Fix Version/s 2.0 [ 14604 ]
        Hide
        Hervé Boutemy added a comment -

        your patch on CreateProjectFromArchetypeMojo doesn't compile (MojoFailureException(Exception, String) constructor does not exist)

        the other parts of your patch seem partially redundant with actual code, which already taces some failures

        can you check if you can provide a unit test?

        Show
        Hervé Boutemy added a comment - your patch on CreateProjectFromArchetypeMojo doesn't compile (MojoFailureException(Exception, String) constructor does not exist) the other parts of your patch seem partially redundant with actual code, which already taces some failures can you check if you can provide a unit test?
        Hide
        Jesse Glick added a comment -

        It compiled when I submitted it, if you include the POM change (MNG-3279) but I could use initCause instead. Seems various things changed in SVN since then so I have recreated the patch.

        Difficult to reproduce original problem since someone cleaned up http://repository.codehaus.org/org/codehaus/mojo/ so that the HTTP redirect bug is no longer manifested. However this seems to demonstrate the lack of a full stack trace without the patch:

        $ mvn -DarchetypeGroupId=bogus -DarchetypeArtifactId=bogus -DarchetypeVersion=1.0 -DgroupId=test -DartifactId=test-ARCHETYPE-327 --errors org.apache.maven.plugins:maven-archetype-plugin:2.0-SNAPSHOT:generate
        ...
            at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:352)
        Caused by: org.apache.maven.plugin.MojoFailureException: The desired archetype does not exist (bogus:bogus:1.0)
            at org.apache.maven.archetype.mojos.CreateProjectFromArchetypeMojo.execute(CreateProjectFromArchetypeMojo.java:205)
            at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:107)
            at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:195)
            ... 19 more
        ...
        

        and with the patch:

        ...
            at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:352)
        Caused by: org.apache.maven.plugin.MojoFailureException: The desired archetype does not exist (bogus:bogus:1.0)
            at org.apache.maven.archetype.mojos.CreateProjectFromArchetypeMojo.execute(CreateProjectFromArchetypeMojo.java:204)
            at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:107)
            at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:195)
            ... 19 more
        Caused by: org.apache.maven.archetype.exception.UnknownArchetype: The desired archetype does not exist (bogus:bogus:1.0)
            at org.apache.maven.archetype.ui.DefaultArchetypeGenerationConfigurator.configureArchetype(DefaultArchetypeGenerationConfigurator.java:124)
            at org.apache.maven.archetype.mojos.CreateProjectFromArchetypeMojo.execute(CreateProjectFromArchetypeMojo.java:188)
            ... 21 more
        ...
        

        which is more likely to be useful.

        Show
        Jesse Glick added a comment - It compiled when I submitted it, if you include the POM change ( MNG-3279 ) but I could use initCause instead. Seems various things changed in SVN since then so I have recreated the patch. Difficult to reproduce original problem since someone cleaned up http://repository.codehaus.org/org/codehaus/mojo/ so that the HTTP redirect bug is no longer manifested. However this seems to demonstrate the lack of a full stack trace without the patch: $ mvn -DarchetypeGroupId=bogus -DarchetypeArtifactId=bogus -DarchetypeVersion=1.0 -DgroupId=test -DartifactId=test-ARCHETYPE-327 --errors org.apache.maven.plugins:maven-archetype-plugin:2.0-SNAPSHOT:generate ... at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:352) Caused by: org.apache.maven.plugin.MojoFailureException: The desired archetype does not exist (bogus:bogus:1.0) at org.apache.maven.archetype.mojos.CreateProjectFromArchetypeMojo.execute(CreateProjectFromArchetypeMojo.java:205) at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:107) at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:195) ... 19 more ... and with the patch: ... at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:352) Caused by: org.apache.maven.plugin.MojoFailureException: The desired archetype does not exist (bogus:bogus:1.0) at org.apache.maven.archetype.mojos.CreateProjectFromArchetypeMojo.execute(CreateProjectFromArchetypeMojo.java:204) at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:107) at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:195) ... 19 more Caused by: org.apache.maven.archetype.exception.UnknownArchetype: The desired archetype does not exist (bogus:bogus:1.0) at org.apache.maven.archetype.ui.DefaultArchetypeGenerationConfigurator.configureArchetype(DefaultArchetypeGenerationConfigurator.java:124) at org.apache.maven.archetype.mojos.CreateProjectFromArchetypeMojo.execute(CreateProjectFromArchetypeMojo.java:188) ... 21 more ... which is more likely to be useful.
        Jesse Glick made changes -
        Attachment ARCHETYPE-327.diff [ 51382 ]
        Hide
        Hervé Boutemy added a comment -

        patch applied in r1003942
        thank you

        Show
        Hervé Boutemy added a comment - patch applied in r1003942 thank you
        Hervé Boutemy made changes -
        Status Open [ 1 ] Closed [ 6 ]
        Assignee Herve Boutemy [ hboutemy ]
        Resolution Fixed [ 1 ]
        Mark Thomas made changes -
        Project Import Sun Apr 05 09:05:55 UTC 2015 [ 1428224755734 ]
        Mark Thomas made changes -
        Workflow jira [ 12716765 ] Default workflow, editable Closed status [ 12748125 ]
        Mark Thomas made changes -
        Flags Patch [ 10430 ]
        Patch Submitted Yes [ 10763 ]
        Mark Thomas made changes -
        Project Import Sun Apr 05 22:17:37 UTC 2015 [ 1428272257260 ]
        Mark Thomas made changes -
        Workflow jira [ 12953986 ] Default workflow, editable Closed status [ 12991175 ]
        Transition Time In Source Status Execution Times Last Executer Last Execution Date
        Open Open Closed Closed
        16d 11h 14m 1 Hervé Boutemy 03/Oct/10 05:48

          People

          • Assignee:
            Hervé Boutemy
            Reporter:
            Jesse Glick
          • Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Development