How do I install a test-jar in maven?

Sujen picture Sujen · Jun 24, 2011 · Viewed 19.6k times · Source

I have a test-jar which I would like to install. I am not sure if there is a different way to install test-jars, such as defining a property that tells maven it is a test-jar.

Also, the groupId and artifactId are the same as another jar for which the test is made from.

So far this is how my install command looks like:

mvn install:install-file -DgroupId=com.example -DartifactId=example -Dpackaging=jar -Dversion=1.2.3 -Dfile=example-test.jar -DgeneratePom=true

So how exactly would I install a test jar? I know there has to be something to tell maven it is a test-jar since the groupId and artifactId is the same as another jar(which would be the jar that example-test.jar is a test of).

Answer

carlspring picture carlspring · Jun 24, 2011

You don't need to install them manually. Maven will do this for you when executing:

mvn clean install

You need a configuration along the lines of:

    ...
    <build>
       <plugins>
           <plugin>
               <groupId>org.apache.maven.plugins</groupId>
               <artifactId>maven-jar-plugin</artifactId>
               <version>2.2</version>

               <executions>
                   <execution>
                       <goals>
                           <goal>test-jar</goal>
                       </goals>
                   </execution>
               </executions>
           </plugin>
        </plugins>
    </build>
    ...

Then, later on in your other module where you'll need to use it, you need to define the dependency's type as:

 <dependency>
    <groupId>com.foo</groupId>
    <artifactId>bar</artifactId>
    <version>1.2.3</version>
    <type>test-jar</type>
    <scope>test</scope>
 </dependency>