Projet Maven.construire.testSourceDirectory propriété ne fonctionne pas de profil

Je veux faire des essais pour différents dossiers dans un projet maven et j'ai besoin de changer le maven est project.build.testSourceDirectory propriété.

Je suis en utilisant un profil maven pour ce problème.

Mon profil ressemble à ceci:

<profiles>
    <profile>
        <id>sahi_UI_testing</id>
        <activation>
            <property>
                <name>sahiTesting</name>
                <value>true</value>
            </property>
        </activation>
        <properties>
            <maven.test.skip>false</maven.test.skip>
            <project.build.testSourceDirectory>src/test/java/org/package1/package2/sahi</project.build.testSourceDirectory>
        </properties>
    </profile>
</profiles>

La project.build.testSourceDirectory n'est pas changé, seul reste le défaut /home/username/workspace/projectName/core/src/test/java (j'ai testé cela avec maven-antrun-plugin et vous donne le chemin d'accès).


J'ai plusieurs pom.xml dans les projets, donc dans le chemin que j'ai le ../core/.. dossier (c'est le projet de base de pom.xml).


Le maven-antrun-plugin:

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-antrun-plugin</artifactId>
    <version>1.1</version>
    <executions>
        <execution>
            <phase>validate</phase>
            <goals>
                <goal>run</goal>
            </goals>
            <configuration>
                <tasks>
                    <echo>******** Displaying value of property ********</echo>
                    <echo>${project.build.testSourceDirectory}</echo>
                    <echo>${maven.test.skip}</echo>
                </tasks>
            </configuration>
        </execution>
    </executions>
</plugin>

L'exécution de mvn help:active-profiles -f core/pom.xml -Dtest=JavaClientTest -o -e test -DsahiTesting=true avec <maven.test.skip>true</maven.test.skip> dans maven-antrun-plugin cela me donne:



[INFO] de l'Exécution des tâches

[echo] ** l'Affichage de la valeur de la propriété **

[echo] /home/nom d'utilisateur/espace de travail/nom_projet/base/src/test/java

[echo] vrai




et avec <maven.test.skip>false</maven.test.skip> dans maven-antrun-plugin cela me donne:



[INFO] de l'Exécution des tâches

[echo] ** l'Affichage de la valeur de la propriété **

[echo] /home/nom d'utilisateur/espace de travail/nom_projet/base/src/test/java

[echo] faux


Donc, nous pouvons voir que l'autre variable a été changé.

Je sais que le profil a été activé parce que j'ai utilisé maven-help-plugin à le préciser.

Le maven-help-plugin me donne ce résultat:



Les profils suivants sont actifs:


  • sahi_UI_testing (source: pom)

J'ai essayé sans maven du profil pour modifier la project.build.testSourceDirectory la propriété que dans le <build> tag.

...
<build>
    <testSourceDirectory>src/test/java/org/package/package2/sahi</testSourceDirectory>
    ...
</build>

Il y a le bien a été changé (mais j'ai besoin d'affecter plus d'une valeur à cette propriété).
J'ai essayé de la maven-surefire-plugin et ne travaille pas trop.

La question est que pourquoi la project.build.testSourceDirectory n'est pas modifiée lors de l'utilisation du profil?

OriginalL'auteur Nagy Attila | 2013-10-02