44

I am not sure what the difference between the maven directives -Dmaven.test.skip.exec and -Dmaven.test.skip=true -DskipTests are. Both seem to suppress the testing cycle.

rogerdpack
  • 62,887
  • 36
  • 269
  • 388
René Nyffenegger
  • 39,402
  • 33
  • 158
  • 293

3 Answers3

67

"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"

Paul Verest
  • 60,022
  • 51
  • 208
  • 332
SebastianD
  • 727
  • 6
  • 7
19

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.

khmarbaise
  • 92,914
  • 28
  • 189
  • 235
3

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
kenji_getpowered
  • 338
  • 2
  • 10