Robert Egan wrote:

> I have written a ContainerDescriptorHandler plugin for the Maven assembly
> plugin. It works when the module that uses it is built 'standalone'. When
> the module is built as part of a large multi-module project I see either
> 
> [INFO] : org.apache.maven.plugin.assembly.model.Assembly@13579e0
> Assembly is incorrectly configured: null
> 
> Assembly: null is not configured correctly: Cannot find
> ContainerDescriptorHandler with hint: instructions
> 
> Or, even worse,
> 
> [INFO] Trace
> java.lang.OutOfMemoryError: Java heap space
>         at java.lang.String.substring(String.java:1770)
>         at
> 
org.codehaus.plexus.interpolation.util.StringUtils.capitalizeFirstLetter(StringUtils.java:119)
>         at
> 
org.codehaus.plexus.interpolation.reflection.ReflectionValueExtractor.evaluate(ReflectionValueExtractor.java:90)
>         at
> 
org.codehaus.plexus.interpolation.ObjectBasedValueSource.getValue(ObjectBasedValueSource.java:59)
>         at
> 
org.codehaus.plexus.interpolation.PrefixedValueSourceWrapper.getValue(PrefixedValueSourceWrapper.java:134)
>         at
> 
org.codehaus.plexus.interpolation.AbstractDelegatingValueSource.getValue(AbstractDelegatingValueSource.java:44)
>         at
> 
org.codehaus.plexus.interpolation.StringSearchInterpolator.interpolate(StringSearchInterpolator.java:196)
>         at
> 
org.codehaus.plexus.interpolation.StringSearchInterpolator.interpolate(StringSearchInterpolator.java:124)
>         at
> 
org.apache.maven.project.interpolation.AbstractStringBasedModelInterpolator.interpolateInternal(AbstractStringBasedModelInterpolator.java:315)
>         at
> 
org.apache.maven.project.interpolation.StringSearchModelInterpolator$InterpolateObjectAction.traverseObjectWithParents(StringSearchModelInterpolator.java:185)
>         at
> 
org.apache.maven.project.interpolation.StringSearchModelInterpolator$InterpolateObjectAction.run(StringSearchModelInterpolator.java:135)
>         at
> 
org.apache.maven.project.interpolation.StringSearchModelInterpolator$InterpolateObjectAction.run(StringSearchModelInterpolator.java:102)
>         at java.security.AccessController.doPrivileged(Native Method)
>         at
> 
org.apache.maven.project.interpolation.StringSearchModelInterpolator.interpolateObject(StringSearchModelInterpolator.java:80)
>         at
> 
org.apache.maven.project.interpolation.StringSearchModelInterpolator.interpolate(StringSearchModelInterpolator.java:62)
>         at
> 
org.apache.maven.project.DefaultMavenProjectBuilder.processProjectLogic(DefaultMavenProjectBuilder.java:990)
>         at
> 
org.apache.maven.project.DefaultMavenProjectBuilder.buildInternal(DefaultMavenProjectBuilder.java:880)
>         at
> 
org.apache.maven.project.DefaultMavenProjectBuilder.buildFromRepository(DefaultMavenProjectBuilder.java:255)
>         at
> 
org.apache.maven.project.artifact.MavenMetadataSource.retrieveRelocatedProject(MavenMetadataSource.java:163)
>         at
> 
org.apache.maven.project.artifact.MavenMetadataSource.retrieveRelocatedArtifact(MavenMetadataSource.java:94)
>         at
> 
org.apache.maven.artifact.resolver.DefaultArtifactCollector.recurse(DefaultArtifactCollector.java:387)
>         at
> 
org.apache.maven.artifact.resolver.DefaultArtifactCollector.recurse(DefaultArtifactCollector.java:435)
>         at
> 
org.apache.maven.artifact.resolver.DefaultArtifactCollector.recurse(DefaultArtifactCollector.java:435)
>         at
> 
org.apache.maven.artifact.resolver.DefaultArtifactCollector.collect(DefaultArtifactCollector.java:74)
>         at
> 
org.apache.maven.artifact.resolver.DefaultArtifactResolver.resolveTransitively(DefaultArtifactResolver.java:316)
>         at
> 
org.apache.maven.artifact.resolver.DefaultArtifactResolver.resolveTransitively(DefaultArtifactResolver.java:304)
>         at
> 
org.apache.maven.plugin.DefaultPluginManager.resolveTransitiveDependencies(DefaultPluginManager.java:1499)
>         at
> 
org.apache.maven.plugin.DefaultPluginManager.executeMojo(DefaultPluginManager.java:442)
>         at
> 
org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(DefaultLifecycleExecutor.java:694)
>         at
> 
org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalWithLifecycle(DefaultLifecycleExecutor.java:556)
>         at
> 
org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoal(DefaultLifecycleExecutor.java:535)
>         at
> 
org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalAndHandleFailures(DefaultLifecycleExecutor.java:387)
> 
> I have boosted the memory settings to ridiculously high values with no
> effect, which leads me to believe I have created some kind of infinite
> dependency loop, because many of the other modules also use the assembly
> plugin (although without my ContainerDescriptorHandler).
> 
> Does Maven have a switch to log the workings of the dependency mechanism
> as it does its job?


M2 or M3? For M2 the first error is normal, since every plugin is loaded 
once and once only. If the first usage of the assembly plugin does not 
contain your handler as part of its classpath, it will not be available 
anywhere else in the multi-project build. M3 should instantiate the plugin 
again with the proper CP.

- Jörg


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@maven.apache.org
For additional commands, e-mail: users-h...@maven.apache.org

Reply via email to