Maven-Projekt.bauen.testSourceDirectory Eigenschaft, die nicht arbeiten, vom Profil
Will ich das testen für verschiedene Ordner in einem maven-Projekt und ich ändern müssen die maven ist project.build.testSourceDirectory
Eigenschaft.
Ich bin mit einem maven-Profil für dieses problem.
Mein Profil sieht wie folgt aus:
<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>
Den project.build.testSourceDirectory
nicht verändert, bleibt nur noch die Standard - /home/username/workspace/projectName/core/src/test/java
(ich habe getestet dieses mit maven-antrun-plugin
und gibt diesen Pfad).
Ich habe mehrere pom.xml in den Projekten, also in dem Weg, den ich habe die ../core/.. - Ordner (dies ist das Projekt core pom.xml).
Das 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>
Ausführung mvn help:active-profiles -f core/pom.xml -Dtest=JavaClientTest -o -e test -DsahiTesting=true
mit <maven.test.skip>true</maven.test.skip>
im maven-antrun-plugin
dies gibt mir:
[INFO] Ausführen von tasks
[echo] ** Anzeige Wert der Immobilie **
[echo] /home/username/workspace/Projektname/core/src/test/java
[echo] true
und mit <maven.test.skip>false</maven.test.skip>
im maven-antrun-plugin
dies gibt mir:
[INFO] Ausführen von tasks
[echo] ** Anzeige Wert der Immobilie **
[echo] /home/username/workspace/Projektname/core/src/test/java
[echo] false
So, wir können sehen, dass die andere variable verändert wurde.
Weiß ich, dass das Profil wurde aktiviert, weil ich maven-help-plugin
zu identifizieren.
Die maven-help-plugin
gibt mir dieses Ergebnis:
Die folgenden profile sind aktiv:
- sahi_UI_testing (Quelle: pom)
Habe ich versucht, ohne maven Profil zu ändern project.build.testSourceDirectory
Eigenschaft nur in der <build>
tag.
...
<build>
<testSourceDirectory>src/test/java/org/package/package2/sahi</testSourceDirectory>
...
</build>
Gibt es die Eigenschaft geändert wurde (aber ich brauche das zuweisen von mehr als einem Wert, der dieser Eigenschaft).
Ich habe versucht, die maven-surefire-plugin
und nicht-Arbeit zu.
Die Frage ist, warum die project.build.testSourceDirectory
nicht geändert, wenn das Profil verwenden?
InformationsquelleAutor Nagy Attila | 2013-10-02
Du musst angemeldet sein, um einen Kommentar abzugeben.
Fand ich eine nicht sehr schöne Lösung für diese Frage, aber es ist eine Lösung. Für mich ist es Arbeit und es ändert sich die
testSourceDirectory
variable.In der
pom.xml
Datei habe ich erklärt, eine eigene variable in derproperties
- tag initialisiert mit dentestSourceDirectory
's default-Wert:Mein Profil ist:
Anfang
build
tag ich habe dentestSourceDirectory
zuSo, wenn wir nicht das Profil verwenden wir ein Standard-Wert, um die
myTestSourceDirectory
variable und wenn wir ein Profil der Variablen werden geändert, um die erforderlichen Tests-Verzeichnis. Die variable ist immer vorhanden, und in derbuild
tag ändern wir dietestSourceDirectory
- Eigenschaft auf den gewünschten Wert.InformationsquelleAutor Nagy Attila
Können Sie nicht überschreiben die
project
Modell mit Eigenschaften, Maven nicht zulassen, dass. Die einzige option, die Sie haben, ist durch die Angabe der testSourceDirectory in das plugin, die Sie verwenden möchten (vorausgesetzt, es ist verfügbar).project
Modell innerhalb der Eigenschaften. Ich habe versucht, dass plugin (maven-surefire-plugin
) ist es aber nicht geklappt. Ich habe im internet gelesen, die Tatsache, dass das plugin dietestSourceDirectory
nicht arbeitete für andere Entwickler auch.InformationsquelleAutor Robert Scholte