Maven profile properties are not "overriding"

Posted by Nazar on Stack Overflow See other posts from Stack Overflow or by Nazar
Published on 2012-02-16T11:32:13Z Indexed on 2012/11/05 17:01 UTC
Read the original article Hit count: 261

Filed under:
|
|

I have Maven multi-module project with such structure:

parent-pom-project

-- module1

-- module2

At the parent-pom-project I have such pom.xml

    <modules>
        <module>module1</module>
    </modules>
...
    <profiles>
        <profile>
           <id>local</id>
           <properties>
               <prop>local_prop</prop>
           </properties>
        </profile>
        <profile>
           <id>test</id>
           <modules>
                <module>module2</module>
           </modules>
           <properties>
               <prop>test_prop</prop>
           </properties>
        </profile>
    </profiles>

At all pom.xml files I have such tag:

<build>
    <resources>
        <resource>
            <directory>src/main/resources</directory>
            <filtering>true</filtering>
        </resource>
        <resource>
            <directory>src/test/resources</directory>
            <filtering>true</filtering>
        </resource>
    </resources>
</build>

At module1 and module2 in resource directory I have properties files with such text:

prop=${prop}

The problem is that after

mvn clean install

or

mvn clean install -Ptest

or even

mvn clean install -P test

I get

prop=local_prop

If I user test profile for build module2 is also builded, but properties are used from local profile. I use Maven 3.0.3. Anybody have any ideas?

© Stack Overflow or respective owner

Related posts about java

Related posts about maven