2015-04-15 4 views
5

Ho bisogno di fare riferimento alcuni test JUnit (src/test/Java) da progetto B nel pacchetto di prova src/test/java del progetto A, mentre B è un esperto di dependecy di A.Come posso fare riferimento alle classi di test di unità di una dipendenza di tipo Maven nel mio progetto java?

È questo possibile?

<dependency> 
    <groupId>XYZ</groupId> 
    <artifactId>B</artifactId> 
    <version>${project.version}</version> 
    <type>jar</type> 
    <scope>test</scope> 
</dependency> 

Entrambi i progetti sono sotto il mio controllo.

Grazie per i vostri consigli

+1

https://maven.apache.org/plugins/maven-jar-plugin/examples/create-test-jar.html – BretC

risposta

9

tuo pom nel progetto B deve comprendere questo plugin:

<plugin> 
    <groupId>org.apache.maven.plugins</groupId> 
    <artifactId>maven-jar-plugin</artifactId> 
    <version>2.5</version> 
    <executions> 
     <execution> 
      <goals> 
       <goal>test-jar</goal> 
      </goals> 
     </execution> 
    </executions> 
</plugin> 

Quindi, è possibile accedervi da progetto A in questo modo:

<dependency> 
    <groupId>XYZ</groupId> 
    <artifactId>B</artifactId> 
    <version>${project.version}</version> 
    <type>test-jar</type> 
    <scope>test</scope> 
</dependency> 

Cambiare 'digita' su test-jar ti permette di accedere alle classi di test da quella dipendenza.

+3

per quello che vale, sembra che test-jar nel dependecy importa solo la classi di test. quindi se vuoi le fonti regolari, che potrebbero essere il caso, devi definire la stessa dipendenza con il vaso –