Be careful, the following plugins must be installed to use version 1.8 of the test plugin:
Version 1.8 of the test plugin removed a prereq on java:compile
& java:jar-resources
from the test:test
goal
for optimization reasons (see MPTEST-46).
This introduced a backward compatibility issue
(see MPTEST-66)
which might affect you if the following conditions are met:
maven.test.skip=true
or your project has no unit tests.
test:test
goal.
An illustration of the problem is provided by the
javaapp
sourceforge plugin, whose javaapp:jar
goal has a prereq on test:test
,
relying on the java sources to be compiled by this call. If you are calling this goal now with
a project that has no tests, the build will fail.
The problem should really be fixed in the corresponding plugin, but a simple workaround is to add the missing goals as a preGoal in your maven.xml:
<preGoal name="javaapp:jar"> <j:if test="${unitTestSourcesPresent != 'true' or context.getVariable('maven.test.skip') == 'true'}"> <attainGoal name="java:compile"/> <attainGoal name="java:jar-resources"/> </j:if> </preGoal>
If you don't know the goal that is causing the trouble, you may add
the preGoal to test:test
, but this might lead
to double compilation.