[ 
https://jira.codehaus.org/browse/MCOMPILER-165?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=301612#comment-301612
 ] 

Joerg Schaible commented on MCOMPILER-165:
------------------------------------------

For M2 this does not matter, the plugin is loaded once and once only.
                
> 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
>         Attachments: multiple-pom-mixed-java-groovy-project-test.zip
>
>
> 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

        

Reply via email to