How can I get the maven-release-plugin to run without triggering the tests?
I have tried
-Dmaven.test.skip=true
and
-DskipTests
and
-DpreparationGoals=clean
...yet none work.
Yes, I know I shouldn't release if the tests don't pass, but I don't have control over making my coworkers write reliable tests.
you have too differents choices to avoid and skip tests with the release plugin
exemple:
mvn -X -Darguments="-Dmaven.javadoc.skip=true -Dmaven.test.skipTests=true -Dmaven.test.skip=true" -P release-mode release:prepare
-The second is to perform thoses arguments on your pom.xml in the build like this:
Note that the second method override the first.
I recommanded you to prepare release first on a single action and then your can edit the release.properties file on the working directorie and look the
exec.additionalArguments
propertie if you arguments are there. It will look like:exec.additionalArguments=-Dmaven.javadoc.skip\=true -Dmaven.test.skipTests\=true -Dmaven.test.skip\=true -P release-mode
.After you can perform the release.
-Darguments="-DskipTests"
is what you want, or explicitly configuring the forked executions in the pom.To skip the entire unit test, it uses argument
so if you want to skip the Unit test this will solve
or alternatively you can define skipTests in maven-surefire-plugin in
If you just want to skip integration tests, this will do it:
-Darguments="..."
passes arguments to the forked maven process, but it is important to realise that there are two different switches being used here. The-DskipTests
forces maven to not run any tests, but the tests are still compiled (this is important if you have any dependencies on a test-jar type). The-Dmaven.test.skip=true
forces maven to not even compile the tests, which means that any test-jars will not be generated.So, you must use
-Darguments
, but to skip tests running use onlyskipTests
, to stop them compiling usemaven.test.skip
.No maven plug-in literally triggers test compilation or execution. It is the maven lifecycle phases that trigger execution(s) of one or more plug-ins, when these have bounded goals to specific phase.
So, just executing a single plug-in goal would suffice without executing tests:
or combine with project build and packaging: