What you are doing is unsupported.

In any one build section, you should only ever list a plugin once.

That means that in

/project/build/plugins/plugin (you can list once only in this section)
/project/build/pluginManagement/plugins/plugin (you can list once only
in this section)
/project/profiles/profile/build/plugins/plugin (you can list once only
in this section)
/project/profiles/profile/build/pluginManagement/plugins/plugin (you
can list once only in this section)

Thus if you have N profiles, you can at most have 2*(N+1) <plugin>
sections referencing your plugin.

if you need to execute the plugin multiple times, just use multiple
executions (that's what they are for)

If you need different configurations for each execution, just put the
different configurations _in each execution_) that is what they are
for.

When profiles are activated, the configurations for each profile are
merged with the main build... which is why you put id's on executions,
if the id is the same then it will merge the execution details, if the
id's are different, then you get two executions

-Stephen

2009/8/20 Zdeněk Zikán <[email protected]>:
> Hello world,
>
> I'm trying to understand how does Maven handle multiple usage of one
> plugin in the same POM file.
> I created an example POM file with executing maven-antrun-plugin few times:
>
> In default build block, there is echoed Hello A, B and C, in the
> profile1, there is echoed D, E, F.
> If I run $ mvn install to execute default build, I get C, B, A echoed,
> however if I activate profile1, I get A and F echoed. I didn't get the
> point, why is it run in this way. Are the multiple configurations
> somehow merged, overwritten or so?
>
> pom.xml:
>
> <?xml version="1.0" encoding="UTF-8"?>
>
> <project xmlns="http://maven.apache.org/POM/4.0.0";
> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
> xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
> http://maven.apache.org/maven-v4_0_0.xsd";>
>        <modelVersion>4.0.0</modelVersion>
>        <groupId>zztest</groupId>
>        <artifactId>profiles-test</artifactId>
>        <name>Profiles Test</name>
>        <description>Profiles Test</description>
>        <packaging>pom</packaging>
>        <version>0.1-SNAPSHOT</version>
>        <build>
>                <plugins>
>                        <plugin>
>                                <artifactId>maven-antrun-plugin</artifactId>
>                                <version>1.3</version>
>                                <executions>
>                                        <execution>
>                                                
> <id>hello-world-from-buildA</id>
>                                                <phase>compile</phase>
>                                                <goals>
>                                                        <goal>run</goal>
>                                                </goals>
>                                                <configuration>
>                                                        <tasks>
>                                                                
> <echo>************************</echo>
>                                                                <echo>* HELLO 
> from default A *</echo>
>                                                                
> <echo>************************</echo>
>                                                        </tasks>
>                                                </configuration>
>                                        </execution>
>                                </executions>
>                        </plugin>
>                        <plugin>
>                                <artifactId>maven-antrun-plugin</artifactId>
>                                <version>1.3</version>
>                                <executions>
>                                        <execution>
>                                                
> <id>hello-world-from-buildB</id>
>                                                <phase>compile</phase>
>                                                <goals>
>                                                        <goal>run</goal>
>                                                </goals>
>                                                <configuration>
>                                                        <tasks>
>                                                                
> <echo>************************</echo>
>                                                                <echo>* HELLO 
> from default B *</echo>
>                                                                
> <echo>************************</echo>
>                                                        </tasks>
>                                                </configuration>
>                                        </execution>
>                                </executions>
>                        </plugin>
>                        <plugin>
>                                <artifactId>maven-antrun-plugin</artifactId>
>                                <version>1.3</version>
>                                <executions>
>                                        <execution>
>                                                
> <id>hello-world-from-buildC</id>
>                                                <phase>compile</phase>
>                                                <goals>
>                                                        <goal>run</goal>
>                                                </goals>
>                                                <configuration>
>                                                        <tasks>
>                                                                
> <echo>************************</echo>
>                                                                <echo>* HELLO 
> from default C *</echo>
>                                                                
> <echo>************************</echo>
>                                                        </tasks>
>                                                </configuration>
>                                        </execution>
>                                </executions>
>                        </plugin>
>                </plugins>
>        </build>
>        <profiles>
>                <profile>
>                        <id>profile1</id>
>                        <build>
>                                <plugins>
>                                        <plugin>
>                                                
> <artifactId>maven-antrun-plugin</artifactId>
>                                                <version>1.3</version>
>                                                <executions>
>                                                        <execution>
>                                                                
> <id>hello-world-profile1-D</id>
>                                                                
> <phase>compile</phase>
>                                                                <goals>
>                                                                        
> <goal>run</goal>
>                                                                </goals>
>                                                                <configuration>
>                                                                        <tasks>
>                                                                               
>  <echo>*************************</echo>
>                                                                               
>  <echo>* HELLO from profile1 D *</echo>
>                                                                               
>  <echo>*************************</echo>
>                                                                        
> </tasks>
>                                                                
> </configuration>
>                                                        </execution>
>                                                </executions>
>                                        </plugin>
>                                        <plugin>
>                                                
> <artifactId>maven-antrun-plugin</artifactId>
>                                                <version>1.3</version>
>                                                <executions>
>                                                        <execution>
>                                                                
> <id>hello-world-profile1-E</id>
>                                                                
> <phase>compile</phase>
>                                                                <goals>
>                                                                        
> <goal>run</goal>
>                                                                </goals>
>                                                                <configuration>
>                                                                        <tasks>
>                                                                               
>  <echo>*************************</echo>
>                                                                               
>  <echo>* HELLO from profile1 E *</echo>
>                                                                               
>  <echo>*************************</echo>
>                                                                        
> </tasks>
>                                                                
> </configuration>
>                                                        </execution>
>                                                </executions>
>                                        </plugin>
>                                        <plugin>
>                                                
> <artifactId>maven-antrun-plugin</artifactId>
>                                                <version>1.3</version>
>                                                <executions>
>                                                        <execution>
>                                                                
> <id>hello-world-profile1-F</id>
>                                                                
> <phase>compile</phase>
>                                                                <goals>
>                                                                        
> <goal>run</goal>
>                                                                </goals>
>                                                                <configuration>
>                                                                        <tasks>
>                                                                               
>  <echo>*************************</echo>
>                                                                               
>  <echo>* HELLO from profile1 F *</echo>
>                                                                               
>  <echo>*************************</echo>
>                                                                        
> </tasks>
>                                                                
> </configuration>
>                                                        </execution>
>                                                </executions>
>                                        </plugin>
>                                </plugins>
>                        </build>
>                </profile>
>        </profiles>
> </project>
>
>
>
> zde...@zdenek:~/test$ mvn install
> [INFO] Scanning for projects...
> [INFO] 
> ------------------------------------------------------------------------
> [INFO] Building Profiles Test
> [INFO]    task-segment: [install]
> [INFO] 
> ------------------------------------------------------------------------
> [INFO] [antrun:run {execution: hello-world-from-buildC}]
> [INFO] Executing tasks
>     [echo] ************************
>     [echo] * HELLO from default C *
>     [echo] ************************
> [INFO] Executed tasks
> [INFO] [antrun:run {execution: hello-world-from-buildB}]
> [INFO] Executing tasks
>     [echo] ************************
>     [echo] * HELLO from default B *
>     [echo] ************************
> [INFO] Executed tasks
> [INFO] [antrun:run {execution: hello-world-from-buildA}]
> [INFO] Executing tasks
>     [echo] ************************
>     [echo] * HELLO from default A *
>     [echo] ************************
> [INFO] Executed tasks
> [INFO] [site:attach-descriptor]
> [INFO] [install:install]
> [INFO] Installing /home/zdenek/test/pom.xml to
> /home/zdenek/.m2/repository/zztest/profiles-test/0.1-SNAPSHOT/profiles-test-0.1-SNAPSHOT.pom
> [INFO] 
> ------------------------------------------------------------------------
> [INFO] BUILD SUCCESSFUL
> [INFO] 
> ------------------------------------------------------------------------
> [INFO] Total time: 2 seconds
> [INFO] Finished at: Thu Aug 20 10:13:53 CEST 2009
> [INFO] Final Memory: 10M/134M
> [INFO] 
> ------------------------------------------------------------------------
>
>
> zde...@zdenek:~/test$ mvn install -P profile1
> [INFO] Scanning for projects...
> [INFO] 
> ------------------------------------------------------------------------
> [INFO] Building Profiles Test
> [INFO]    task-segment: [install]
> [INFO] 
> ------------------------------------------------------------------------
> [INFO] [antrun:run {execution: hello-world-from-buildA}]
> [INFO] Executing tasks
>     [echo] ************************
>     [echo] * HELLO from default A *
>     [echo] ************************
> [INFO] Executed tasks
> [INFO] [antrun:run {execution: hello-world-profile1-F}]
> [INFO] Executing tasks
>     [echo] *************************
>     [echo] * HELLO from profile1 F *
>     [echo] *************************
> [INFO] Executed tasks
> [INFO] [site:attach-descriptor]
> [INFO] [install:install]
> [INFO] Installing /home/zdenek/test/pom.xml to
> /home/zdenek/.m2/repository/zztest/profiles-test/0.1-SNAPSHOT/profiles-test-0.1-SNAPSHOT.pom
> [INFO] 
> ------------------------------------------------------------------------
> [INFO] BUILD SUCCESSFUL
> [INFO] 
> ------------------------------------------------------------------------
> [INFO] Total time: 2 seconds
> [INFO] Finished at: Thu Aug 20 10:14:02 CEST 2009
> [INFO] Final Memory: 10M/135M
> [INFO] 
> ------------------------------------------------------------------------
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [email protected]
> For additional commands, e-mail: [email protected]
>
>

Reply via email to