Я хочу сделать тестирование для разных папок в проекте maven, и мне нужно изменить свойство maven project.build.testSourceDirectory
.Maven project.build.testSourceDirectory свойство не работает из профиля
Я использую профиль maven для решения этой проблемы.
Мой профиль выглядит следующим образом:
<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>
project.build.testSourceDirectory
не изменяется, остается только по умолчанию /home/username/workspace/projectName/core/src/test/java
(я проверил это с maven-antrun-plugin
и дает этому пути).
У меня есть несколько pom.xml в проектах, поэтому в пути у меня есть папка ../core/ .. (это основной pom.xml проекта).
The Maven-antrun-плагин:
<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>
Выполнение mvn help:active-profiles -f core/pom.xml -Dtest=JavaClientTest -o -e test -DsahiTesting=true
с <maven.test.skip>true</maven.test.skip>
в maven-antrun-plugin
это дает мне:
[INFO] Выполнение задачи
[Эхо] * * Отображение стоимости имущества * *
[эхо]/главная/имя пользователя/рабочее пространство/Projectname/ядро / SRC/тест/Java
[эхо] верно
и <maven.test.skip>false</maven.test.skip>
в maven-antrun-plugin
это дает мне:
[INFO] Выполнение задач
[эхо] * * Отображение стоимости имущества * *
[эхо]/главная/имя пользователя/рабочее пространство/Projectname/ядро / SRC/тест/Java
[эхо] ложные
Итак, мы видим, что другая переменная была изменена.
Я знаю, что профиль активирован, потому что я использовал maven-help-plugin
, чтобы определить это.
maven-help-plugin
дает мне этот результат:
следующие профили активны:
- sahi_UI_testing (источник: ПОМ)
Я пытался без профиля Maven, чтобы изменить project.build.testSourceDirectory
Недвижимость только в <build>
тег.
...
<build>
<testSourceDirectory>src/test/java/org/package/package2/sahi</testSourceDirectory>
...
</build>
Там собственность была изменена (но мне нужно назначить более одного значения для этого свойства). Я пробовал maven-surefire-plugin
и не работает.
Вопрос в том, почему project.build.testSourceDirectory
не изменяется при использовании профиля?
Теперь я понял, что не могу перезаписать модель 'project' внутри свойств. Я пробовал этот плагин ('maven-surefire-plugin'), но он не работает. Я прочитал в Интернете тот факт, что «testSourceDirectory» плагина не работает и для других разработчиков. –