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
Vous devez vous connecter pour publier un commentaire.
J'ai trouvé une pas très gentil solution à cette question, mais c'est une solution. Pour moi ça fonctionne et ça change de la
testSourceDirectory
variable.Dans le
pom.xml
fichier j'ai déclaré une variable dans leproperties
tag initialisée avec latestSourceDirectory
's valeur par défaut:Mon profil est:
Au début de
build
tag j'ai mis letestSourceDirectory
àAinsi, lorsque nous n'utilisons pas le profil que nous avons une valeur par défaut à la
myTestSourceDirectory
variable et lorsque nous utilisons le profil de la variable sera modifiée à la demande répertoire test. La variable existe toujours, et dans lesbuild
tag-nous changer letestSourceDirectory
de la propriété à la valeur désirée.OriginalL'auteur Nagy Attila
Vous ne pouvez pas remplacer le
project
modèle avec des propriétés Maven ne permet pas que. La seule option que vous avez est en spécifiant le testSourceDirectory dans le plugin que vous souhaitez utiliser (s'il est disponible).project
modèle dans les propriétés. J'ai essayé ce plugin (maven-surefire-plugin
) mais il n'est pas travaillé. J'ai lu sur internet le fait que le plugintestSourceDirectory
n'a pas travaillé pour d'autres développeurs.OriginalL'auteur Robert Scholte