I’m not sure if it’s the correct way to do it, but I’ve done this using negated 
activation using properties

parent pom:

        <profile>
            <id>build-all-my-docs</id>
            <activation>
                <property>
                   <name>build-all-docs</name>
                </property>
            </activation>
        </profile>


child pom:
        <profile>
            <id>build-dev-docs</id>
            <activation>
                <property>
                    <name>!build-all-docs</name>
                </property>
            </activation>
        </profile>

then:
        mvn -Dbuild-all-docs=true help:active-profiles


will show you that the parent profile is activate and the child profile is 
inactive

and:
        mvn  help:active-profiles

should show the inverse.



Jim Klo
Senior Software Engineer
Center for Software Engineering
SRI International
t.      @nsomnac

> On Feb 22, 2017, at 11:14 AM, Shahim Essaid <sha...@essaid.com> wrote:
> 
> Hi,
> 
> I tested the possibility of overriding a profile in a child POM by using
> the same profile id but it doesn't work. The profiles get merged.
> 
> Is there a simple way to fully override a profile in a child POM?
> 
> Merging (i.e. composing) profiles is very useful but I can get this
> behavior by activating different profiles (with different ids) on the same
> property. It looks like creating a child profile with the same id has
> exactly the same behavior.
> 
> I'm sure this behavior is something that can't be change at this point but
> it might be useful to be able to override a profile by id to give some
> additional options for how to design a build through inheritance. Having to
> override individual plugins and executions inherited from a parent profile
> can get a little tedious.
> 
> I don't have a specific use-case in mind. I was just trying to understand
> all my options before thinking about how to compose and override my build
> behaviors.
> 
> Best,
> Shahim

Attachment: smime.p7s
Description: S/MIME cryptographic signature

Reply via email to