You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@maven.apache.org by "Martin Gainty (JIRA)" <ji...@codehaus.org> on 2009/04/04 02:22:14 UTC

[jira] Commented: (ARCHETYPE-236) Maven archetype:create fails with spurious error

    [ http://jira.codehaus.org/browse/ARCHETYPE-236?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=171992#action_171992 ] 

Martin Gainty commented on ARCHETYPE-236:
-----------------------------------------

Howard

applicable attribues from org.apache.maven.archetype.common.Constants.java:
    String ARCHETYPE_DESCRIPTOR = "META-INF/maven/archetype-metadata.xml";
    String OLD_ARCHETYPE_DESCRIPTOR = "META-INF/maven/archetype.xml";

org.apache.maven.archetype.old.OldArchetype:
 public void createArchetype( String archetypeGroupId,
                                 String archetypeArtifactId,
                                 String archetypeVersion,
                          ArtifactRepository archetypeRepository,
                                 ArtifactRepository localRepository,
                                 List remoteRepositories,
                                 Map parameters )
        throws ArchetypeNotFoundException, ArchetypeDescriptorException, ArchetypeTemplateProcessingException
.......
try
        {
            URL[] urls = new URL[1];
            urls[0] = archetype.toURL();
            archetypeJarLoader = new URLClassLoader( urls );

//First locate META-INF/maven/archetype-metadata.xml (First)
            InputStream is = getStream( ARCHETYPE_DESCRIPTOR, archetypeJarLoader );

            if ( is == null )
            {
//only if you dont find META-INF/maven/archetype-metadata.xml then look for 
//META-INF/maven/archetype.xml
                is = getStream( ARCHETYPE_OLD_DESCRIPTOR, archetypeJarLoader );

                if ( is == null )
                {
                    throw new ArchetypeDescriptorException(
                        "The " + ARCHETYPE_DESCRIPTOR + " descriptor cannot be found." );
                }
            }

            descriptor = builder.build( new InputStreamReader( is ) );
        }
        catch ( IOException e )
        {
            throw new ArchetypeDescriptorException( "Error reading the " + ARCHETYPE_DESCRIPTOR + " descriptor.", e );
        }
        catch ( XmlPullParserException e )
        {
            throw new ArchetypeDescriptorException( "Error reading the " + ARCHETYPE_DESCRIPTOR + " descriptor.", e );
        }

Is 
META-INF/maven/archetype-metadata.xml 
available

?
Martin-

> Maven archetype:create fails with spurious error
> ------------------------------------------------
>
>                 Key: ARCHETYPE-236
>                 URL: http://jira.codehaus.org/browse/ARCHETYPE-236
>             Project: Maven Archetype
>          Issue Type: Bug
>          Components: Generator
>            Reporter: Howard M. Lewis Ship
>            Priority: Critical
>         Attachments: maven-metadata.xml, quickstart-5.1.0.3-20090404.000306-1.jar, quickstart-5.1.0.3-20090404.000306-1.pom
>
>
> Choose archetype:
> 1: http://tapestry.formos.com/maven-snapshot-repository -> quickstart (Tapestry 5.1.0.3-SNAPSHOT Quickstart Project)
> Choose a number: (1): 1
> [DEBUG] Not found archetype org.apache.tapestry:quickstart:5.1.0.3-SNAPSHOT in cache
> [INFO] snapshot org.apache.tapestry:quickstart:5.1.0.3-SNAPSHOT: checking for updates from quickstart-repo
> [DEBUG] Skipping disabled repository central
> [DEBUG] quickstart: resolved to version 5.1.0.3-20090327.090350-1 from repository quickstart-repo
> [DEBUG] Found archetype org.apache.tapestry:quickstart:5.1.0.3-SNAPSHOT in cache: /Users/Howard/.m2/repository/org/apache/tapestry/quickstart/5.1.0.3-SNAPSHOT/quickstart-5.1.0.3-SNAPSHOT.jar
> [DEBUG] Found archetype org.apache.tapestry:quickstart:5.1.0.3-SNAPSHOT in cache: /Users/Howard/.m2/repository/org/apache/tapestry/quickstart/5.1.0.3-SNAPSHOT/quickstart-5.1.0.3-SNAPSHOT.jar
> [DEBUG] No found META-INF/maven/archetype.xml retrying with windows path
> [DEBUG] Can not load old archetype
> java.io.IOException: The META-INF/maven/archetype.xml descriptor cannot be found.
> at org.apache.maven.archetype.common.DefaultArchetypeArtifactManager.getOldArchetypeDescriptorReader(DefaultArchetypeArtifactManager.java:679)
> at org.apache.maven.archetype.common.DefaultArchetypeArtifactManager.loadOldArchetypeDescriptor(DefaultArchetypeArtifactManager.java:618)
> at org.apache.maven.archetype.common.DefaultArchetypeArtifactManager.isOldArchetype(DefaultArchetypeArtifactManager.java:582)
> at org.apache.maven.archetype.common.DefaultArchetypeArtifactManager.isOldArchetype(DefaultArchetypeArtifactManager.java:300)
> at org.apache.maven.archetype.ui.DefaultArchetypeGenerationConfigurator.configureArchetype(DefaultArchetypeGenerationConfigurator.java:150)
> at org.apache.maven.archetype.mojos.CreateProjectFromArchetypeMojo.execute(CreateProjectFromArchetypeMojo.java:182)
> at org.apache.maven.plugin.DefaultPluginManager.executeMojo(DefaultPluginManager.java:447)
> at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(DefaultLifecycleExecutor.java:539)
> at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeStandaloneGoal(DefaultLifecycleExecutor.java:493)
> at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoal(DefaultLifecycleExecutor.java:463)
> at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalAndHandleFailures(DefaultLifecycleExecutor.java:311)
> at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeTaskSegments(DefaultLifecycleExecutor.java:224)
> at org.apache.maven.lifecycle.DefaultLifecycleExecutor.execute(DefaultLifecycleExecutor.java:143)
> at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:333)
> at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:126)
> at org.apache.maven.cli.MavenCli.main(MavenCli.java:282)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.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)
> [DEBUG] No found META-INF/archetype.xml retrying with windows path
> [INFO] ------------------------------------------------------------------------
> [ERROR] BUILD FAILURE
> [INFO] ------------------------------------------------------------------------
> [INFO] The defined artifact is not an archetype
> [INFO] ------------------------------------------------------------------------
> [DEBUG] Trace
> org.apache.maven.BuildFailureException: The defined artifact is not an archetype
> at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(DefaultLifecycleExecutor.java:560)
> at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeStandaloneGoal(DefaultLifecycleExecutor.java:493)
> at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoal(DefaultLifecycleExecutor.java:463)
> at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalAndHandleFailures(DefaultLifecycleExecutor.java:311)
> at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeTaskSegments(DefaultLifecycleExecutor.java:224)
> at org.apache.maven.lifecycle.DefaultLifecycleExecutor.execute(DefaultLifecycleExecutor.java:143)
> at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:333)
> at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:126)
> at org.apache.maven.cli.MavenCli.main(MavenCli.java:282)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.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: The defined artifact is not an archetype
> at org.apache.maven.archetype.mojos.CreateProjectFromArchetypeMojo.execute(CreateProjectFromArchetypeMojo.java:201)
> at org.apache.maven.plugin.DefaultPluginManager.executeMojo(DefaultPluginManager.java:447)
> at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(DefaultLifecycleExecutor.java:539)
> ... 16 more 
> Maven is failing looking for the *old* archetype.xml, rather than the new-style (compatible with archetype:generate) archetype-metadata.xml file.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://jira.codehaus.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira