Активация в моем профиле maven игнорируется (профиль всегда выполняется), используя существующий файл

Я использую активацию на основе файла, существующего в моем pom.xml.

Однако мой профиль выполняется ВСЕГДА, несмотря ни на что.

Вот описание профиля:

<profile>
    <id>copy</id>
    <activation>
        <file>
            <exists>file.xml</exists>
        </file>
    </activation>
    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-antrun-plugin</artifactId>
                <version>1.7</version>
                <executions>
                    <execution>
                        <id>copy-resources</id>
                        <phase>validate</phase>
                        <configuration>
                            <target name="copy and rename file">
                                <copy           file="${basedir}/src/main/resources/application.${env}.properties"  tofile="${basedir}/src/main/fabric8/io.fabric8.system.properties" />
                            </target>
                        </configuration>
                        <goals>
                            <goal>run</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
        </plugins>
    </build>
</profile>

Я называю свой профиль так: mvn package -Pcopy

Но профиль вызывается всегда, независимо от того, присутствует файл или нет. Что я делаю не так?

Спасибо Ромен.


person Tomar99    schedule 30.09.2014    source источник
comment
Следуя @manouti answer, полезно подумать об активации профиля, а не о вызове или выполнении Это. Такое сопоставление улучшает декларативный, а не императивный характер POM. Возможно, вы поняли, что тогда он уже активирован через POM. ;-)   -  person Gerold Broser    schedule 01.10.2014


Ответы (1)


Вам не нужно передавать имя профиля при выполнении команды mvn, если файл существует в проекте. Явная передача -Pcopy команде переопределит activation в POM и всегда будет активировать этот профиль.

См. раздел Как активировать профиль в этом ссылка.

person M A    schedule 30.09.2014