Edd grant created MCOMPILER-165:
-----------------------------------
Summary: Child modules don't seem to be able to use a different
compilerId to their parent modules when built from the parent POM.
Key: MCOMPILER-165
URL: https://jira.codehaus.org/browse/MCOMPILER-165
Project: Maven 2.x Compiler Plugin
Issue Type: Bug
Affects Versions: 2.3.2
Reporter: Edd grant
I have a mixed Java/ Groovy project which is split over several Maven modules,
all of which have a common parent module. In the parent POM I specify some
basic common options for the {{maven-compiler-plugin}} (see example 1 below).
The idea being that in my child modules I can either simple use this
configuration by specifying the plugin with no further configuration (example
2), or I can override this configuration if I have specific requirements (for
example switching the {{compilerId}}) (example 3).
Example 1 - Parent POM:
{code}
<pluginManagement>
<plugins>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<version>2.3.2</version>
<configuration>
<source>1.6</source>
<target>1.6</target>
</configuration>
</plugin>
</plugins>
</pluginManagement>
{code}
Example 2 - Child POM that inherits the parent POM's plugin configuration:
{code}
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
</plugin>
{code}
Example 3 - Child POM that specifies a different compilation configuration
(uses the {{groovy-eclipse-compiler}}) to the parent POM's configuration:
{code}
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<compilerId>groovy-eclipse-compiler</compilerId>
<verbose>true</verbose>
<source>1.6</source>
<target>1.6</target>
</configuration>
<dependencies>
<dependency>
<groupId>org.codehaus.groovy</groupId>
<artifactId>groovy-eclipse-compiler</artifactId>
<version>2.6.0-01</version>
</dependency>
</dependencies>
</plugin>
{code}
Using this configuration everything works fine if I build ({{mvn clean
install}}) each POM individually, however when I build the project from the
parent POM compilation of the module with the switched {{compilerId}} fails and
I get the following error:
{code}
[ERROR] BUILD ERROR
[INFO] ------------------------------------------------------------------------
[INFO] No such compiler 'groovy-eclipse-compiler'.
[INFO] ------------------------------------------------------------------------
[INFO] Trace
org.apache.maven.lifecycle.LifecycleExecutionException: No such compiler
'groovy-eclipse-compiler'.
at
org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(DefaultLifecycleExecutor.java:719)
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)
at
org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeTaskSegments(DefaultLifecycleExecutor.java:348)
at
org.apache.maven.lifecycle.DefaultLifecycleExecutor.execute(DefaultLifecycleExecutor.java:180)
at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:328)
at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:138)
at org.apache.maven.cli.MavenCli.main(MavenCli.java:362)
at
org.apache.maven.cli.compat.CompatibleMain.main(CompatibleMain.java:60)
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:597)
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.MojoExecutionException: No such compiler
'groovy-eclipse-compiler'.
at
org.apache.maven.plugin.AbstractCompilerMojo.execute(AbstractCompilerMojo.java:339)
at org.apache.maven.plugin.CompilerMojo.execute(CompilerMojo.java:128)
at
org.apache.maven.plugin.DefaultPluginManager.executeMojo(DefaultPluginManager.java:490)
at
org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(DefaultLifecycleExecutor.java:694)
... 17 more
{code}
Would be most grateful if someone could look at this as it's causing us a lot
of pain. Also interested to know if there are any workarounds or quick fixes in
the meantime? Thanks.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators:
https://jira.codehaus.org/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira