У меня есть пом с 3 определенными профилями.
Я хочу:
- запускать "генерировать" профиль всегда раньше всех остальных (при необходимости)
запуск профиля dev / normal на основе, например, свойств
Pom Snip:
<profiles>
<profile>
<id>generate-axis-stubs</id>
<activation>
<file>
<missing>target/generated-sources</missing>
</file>
</activation>
<build>
<plugins>
<plugin>
<groupId>org.apache.axis2</groupId>
<artifactId>axis2-wsdl2code-maven-plugin</artifactId>
<configuration>
<generateServerSide>true</generateServerSide>
<generateServicesXml>true</generateServicesXml>
<outputDirectory>target/generated-sources</outputDirectory>
<packageName>${genclasses.package}</packageName>
</configuration>
<executions>
<execution>
<id>ESISGeneralSigningStatusUpdate_V1_0</id>
<goals>
<goal>wsdl2code</goal>
</goals>
<phase>generate-sources</phase>
<configuration>
<wsdlFile>${wsdl.src.dir}/ESISGeneralSigningStatusUpdate_V1_0.wsdl</wsdlFile>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
<profile>
<id>normal</id>
<activation>
<property>
<name>!env</name>
</property>
</activation>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<configuration>
<excludes>
<exclude>**/JdbcDataServiceImplTest.java</exclude>
</excludes>
</configuration>
</plugin>
</plugins>
</build>
</profile>
<!-- This profile should be used to run tests that requires access to DB It is activated in case system variable env=dev -->
<profile>
<id>run-db-tests</id>
<activation>
<property>
<name>env</name>
<value>dev</value>
</property>
</activation>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<configuration>
<includes>
<include>**/*Test.java</include>
</includes>
</configuration>
</plugin>
</plugins>
</build>
</profile>
Проблема в том, что при чистой компиляции это работает ровно каждый второй раз.
Я включил отладку -X и сравнил вывод.
- неудачный, + тот, который сработал.
@@ -1551,6 +1551,10 @@
[DEBUG] Lifecycle default -> [validate, initialize, generate-sources, process-sources, generate-resources, process-resources, compile, process-classes,
generate-test-sources, process-test-sources, generate-test-resources, process-test-resources, test-compile, process-test-classes, test, prepare-package,
package, pre-integration-test, integration-test, post-integration-test, verify, install, deploy]
[DEBUG] Lifecycle clean -> [pre-clean, clean, post-clean]
[DEBUG] Lifecycle site -> [pre-site, site, post-site, site-deploy]
+[DEBUG] Using mirror nexus (http://nexus.edb.com/nexus/content/groups/public/) for apache.snapshots (http://repository.apache.org/snapshots).
+[DEBUG] Lifecycle default -> [validate, initialize, generate-sources, process-sources, generate-resources, process-resources, compile, process-classes, generate-test-sources, process-test-sources, generate-test-resources, process-test-resources, test-compile, process-test-classes, test, prepare-package, package, pre-integration-test, integration-test, post-integration-test, verify, install, deploy]
+[DEBUG] Lifecycle clean -> [pre-clean, clean, post-clean]
+[DEBUG] Lifecycle site -> [pre-site, site, post-site, site-deploy]
[DEBUG] Lifecycle default -> [validate, initialize, generate-sources, process-sources, generate-resources, process-resources, compile, process-classes, generate-test-sources, process-test-sources, generate-test-resources, process-test-resources, test-compile, process-test-classes, test, prepare-package, package, pre-integration-test, integration-test, post-integration-test, verify, install, deploy]
[DEBUG] Lifecycle clean -> [pre-clean, clean, post-clean]
[DEBUG] Lifecycle site -> [pre-site, site, post-site, site-deploy]
@@ -1563,7 +1567,7 @@
[DEBUG] === PROJECT BUILD PLAN ================================================
[DEBUG] Project: com.edb.esign:gssWsServer:2.3-SNAPSHOT
[DEBUG] Dependencies (collect): []
-[DEBUG] Dependencies (resolve): [compile]
+[DEBUG] Dependencies (resolve): [compile, test]
[DEBUG] Repositories (dependencies): [nexus (http://nexus.edb.com/nexus/content/groups/public/, releases+snapshots)]
[DEBUG] Repositories (plugins) : [nexus (http://nexus.edb.com/nexus/content/groups/public/, releases+snapshots)]
[DEBUG] -----------------------------------------------------------------------
Когда я запускаю help: active-profile
после успеха показывает:
Активны следующие профили:
- нормальный (источник: пом)
- nexus (источник: settings.xml)
после сбоя показывает:
Активны следующие профили:
- генерировать заглушки для осей генерации (источник: pom)
- нормально (источник: пом)
- nexus (источник: settings.xml)
Если я почистил его вручную, а затем скомпилировал - он работает постоянно. Но почему это не всегда работает для чистой компиляции?
Спасибо!