it fixes the issue Running mvn with a specific phase will run the lifecycle up to that phase. This means that mvn install will run all phases including install. This means that mvn install will always run verify as well. So you cannot achieve what you want to achive. But maybe if you give more information about your ultimate goal, it will be possible to find a solution that works for you.
hope this fix your issue This issue is resolved in aether 1.12, one rev above the aether 1.11 library that ships with Maven 3.0.3. Replacing aether 1.11 with 1.12 in one's Maven install results in expected behaviour (as noted in the bug I filed). Here's hoping Maven 3.0.4 is released with aether 1.12 ASAP. :-)
hop of those help? You must be aware that maven-invoker-plugin invokes a separate instance of Maven for running integration tests like a manual call of mvn with the appropriate configuration options. That's the reason why maven sticks... You can put the appropriate options into invoker.mavenOpts or into a invoker.properties file. An other option would be to change the mavenExecuteable and use mvnDebug instead of mvn.
Validate phase used twice with exec-maven-plugin associated with process-classes phase
like below fixes the issue exec:java runs a forked lifecycle up to the validate phase, i.e. when you start build your project, during the run of exec:java, a secondary run of your build is started. Thus your validate phase is called twice.
Maven Invoker Plugin vs Maven Failsafe Plugin: Which to use for integration-test?
This might help you The use case is indeed different. You could see the maven-invoker-plugin as a specific subset of the Failsafe Plugin, intended to be used to test your custom Maven plugins, although its usage can be broader. Failsafe plugin