Hi,
We are bumping into the following problem, a partial archetype contains files
that already exist in the maven project. At the moment this goes into error
although it seems that it should go into warning (looking at the name of the
method used).
org.apache.maven.archetype.generator.DefaultFilesetArchetypeGenerator contains
the following method: 'private void processArchetypeTemplatesWithWarning'
The implementation is: processTemplates( packageName, outputDirectoryFile,
context, archetypeDescriptor, archetypeResources, archetypeZipFile,
moduleOffset, true );
The boolean parameter true represents that the method should fail if the file
already exists. Since it is true an exception is thrown, but the method is
called 'processArchetypeTemplatesWithWarning':
Line 703 has the following statement:
if ( failIfExists )
{
throw new OutputFileExists( "Don't override file " +
outFile.getAbsolutePath() );
}
getLogger().warn( "Don't override file " + outFile );
Since the method is called 'processArchetypeTemplatesWithWarning', we expect it
to log a warning and not throw an exception. An interesting solution might be
that a property can be used to control if it should overwrite, ignore or throw
an error if a file already exists for a partial archetype.
The stacktrace:
org.apache.maven.archetype.exception.OutputFileExists: Don't override file
C:\01._LocalData\Workspaces\Eclipse\dummy-test-project\src\test.txt
at
org.apache.maven.archetype.generator.DefaultFilesetArchetypeGenerator.processTemplate(DefaultFilesetArchetypeGenerator.java:705)
at
org.apache.maven.archetype.generator.DefaultFilesetArchetypeGenerator.processFileSet(DefaultFilesetArchetypeGenerator.java:540)
at
org.apache.maven.archetype.generator.DefaultFilesetArchetypeGenerator.processTemplates(DefaultFilesetArchetypeGenerator.java:785)
at
org.apache.maven.archetype.generator.DefaultFilesetArchetypeGenerator.processArchetypeTemplatesWithWarning(DefaultFilesetArchetypeGenerator.java:524)
at
org.apache.maven.archetype.generator.DefaultFilesetArchetypeGenerator.generateArchetype(DefaultFilesetArchetypeGenerator.java:169)
at
org.apache.maven.archetype.generator.DefaultArchetypeGenerator.processFileSetArchetype(DefaultArchetypeGenerator.java:129)
at
org.apache.maven.archetype.generator.DefaultArchetypeGenerator.generateArchetype(DefaultArchetypeGenerator.java:100)
at
org.apache.maven.archetype.generator.DefaultArchetypeGenerator.generateArchetype(DefaultArchetypeGenerator.java:143)
Regards,
Günther
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]