Comment installer un pot de test dans maven?

j'ai un pot de test que j'aimerais installer. Je ne suis pas sûr qu'il y ait une autre façon d'installer les pots de test, comme définir une propriété qui dit à maven que c'est un pot de test.

En outre, le mérou et l'artifactide sont les mêmes qu'un autre bocal pour lequel le test est fait.

pour l'instant voici à quoi ressemble ma commande install:

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

alors comment installer un pot de test? Je sais qu'il doit y avoir quelque chose pour dire à maven que c'est un pot d'essai. puisque le mérou et l'artifactide est le même qu'un autre pot (qui serait le pot que l'exemple-test.jar est un test de).

25
demandé sur Sujen 2011-06-24 18:19:50
la source

4 ответов

Vous n'avez pas besoin de les installer manuellement. Maven le fera pour vous lors de l'exécution:

mvn clean install

vous avez besoin d'une configuration dans le sens de:

    ...
    <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>
    ...

ensuite, plus tard dans votre autre module où vous devrez l'utiliser, vous devrez définir le type de la dépendance comme:

 <dependency>
    <groupId>com.foo</groupId>
    <artifactId>bar</artifactId>
    <version>1.2.3</version>
    <type>test-jar</type>
    <scope>test</scope>
 </dependency>
40
répondu carlspring 2014-07-14 16:15:21
la source
mvn install:install-file 
    -DgroupId=com.example 
    -DartifactId=example 
    -Dversion=1.2.3 
    -Dclassifier=tests 
    -Dpackaging=test-jar 
    -Dfile=example-1.2.3-tests.jar
9
répondu Rajani Karuturi 2016-05-07 07:16:19
la source

vous mettez votre code de test dans le même projet que votre code normal, sous /src/test/java. Maven prend soin de ne pas inclure le code du test dans le bocal emballé. Si vous avez des dépendances qui ne sont utilisées que pour les tests unitaires (par exemple mockito, junit, etc), alors vous leur donnez une portée de "test" dans les dépendances maven et ils seront disponibles pour les tests unitaires mais pas inclus dans le jar réel.

1
répondu Kevin 2011-06-24 18:34:49
la source

je suppose que vous avez pu manquer le drapeau generatePom, j'ai eu la même erreur mais finalement le dessous a fonctionné

mvn install:install-file 
    -Dfile=c:/primo/primo-1.0.0-SNAPSHOT.jar 
    -DgroupId=uk.bl.primo 
    -DartifactId=primo 
    -Dversion=1.0.0 
    -Dpackaging=jar 
    -DgeneratePom=true
0
répondu Mohammed Rafeeq 2016-05-07 07:15:23
la source

Autres questions sur