Many times you may want to reuse the tests that you have created for a project in another. For example if you have written foo-core and it contains test code in the ${basedir}/src/test/java it would be useful to package up those compiled tests in a JAR and deploy them for general reuse. To do this you would configure the maven-jar-plugin as follows:
<project> <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-jar-plugin</artifactId> <version>3.0.2</version> <executions> <execution> <goals> <goal>test-jar</goal> </goals> </execution> </executions> </plugin> </plugins> </build> </project>
In order to install the attached test JAR you simply use the standard install phase by executing the following command:
mvn install
In order to deploy the attached test JAR you simply use the standard deploy phase by executing the following command:
mvn deploy
In order to use the attached test JAR that was created above you simply specify a dependency on the main artifact with a specified type of test-jar and the classifier.
<project> ... <dependencies> <dependency> <groupId>com.myco.app</groupId> <artifactId>foo</artifactId> <version>1.0-SNAPSHOT</version> <classifier>tests</classifier> <type>test-jar</type> <scope>test</scope> </dependency> </dependencies> ... </project>