What is the difference between "-Dmaven.test.skip.exec" vs "-Dmaven.test.skip=true" and "-DskipTests"?
"maven.test.skip.exec=true" the tests get compiled, but not executed.
"maven.test.skip=true" doesn't compile or execute the tests.
"-DskipTests" is the same as "maven.test.skip.exec=true"
The system property -Dmaven.test.skip=true
will do the following:
because maven.test.skip disables both running the tests and compiling the tests.
The system property -Dmaven.test.skip.exec
is deprecated where you should use -DskipTests=true
Set this to "true" to skip running tests, but still compile them.
Please look at the reference : http://maven.apache.org/surefire/maven-surefire-plugin/examples/skipping-test.html
Extract :
Skipping Tests
To skip running the tests for a particular project, set the skipTests property to true.
<project> [...] <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-surefire-plugin</artifactId> <version>2.18.1</version> <configuration> <skipTests>true</skipTests> </configuration> </plugin> </plugins> </build> [...] </project>
You can also skip the tests via the command line by executing the following command:
mvn install -DskipTests
If you absolutely must, you can also use the maven.test.skip property to skip compiling the tests. maven.test.skip is honored by Surefire, Failsafe and the Compiler Plugin.
mvn install -Dmaven.test.skip=true