Как мне установить тест-кувшин в maven? - PullRequest
27 голосов
/ 24 июня 2011

У меня есть тест-кувшин, который я хотел бы установить.Я не уверен, есть ли другой способ установить test-jar, например, определить свойство, которое сообщает maven, что это test-jar.

Кроме того, groupId и artifactId совпадают с другим jar дляиз чего сделан тест.

Пока моя команда установки выглядит следующим образом:

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

Так как именно я должен установить тестовую флягу?Я знаю, что есть что сказать maven, что это тестовый jar, поскольку groupId и artifactId совпадают с другим jar (это будет jar, для которого example-test.jar является тестом).

Ответы [ 4 ]

43 голосов
/ 24 июня 2011

Вам не нужно устанавливать их вручную.Maven сделает это за вас при выполнении:

mvn clean install

Вам понадобится конфигурация в соответствии с:

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

Затем, позже, в другом модуле, где вам нужно будетиспользуйте его, вам нужно определить тип зависимости как:

 <dependency>
    <groupId>com.foo</groupId>
    <artifactId>bar</artifactId>
    <version>1.2.3</version>
    <type>test-jar</type>
    <scope>test</scope>
 </dependency>
9 голосов
/ 27 февраля 2013
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
1 голос
/ 24 июня 2011

Вы помещаете свой тестовый код в тот же проект, что и обычный код, в / src / test / java. Maven заботится о том, чтобы не включать тестовый код в упакованную банку. Если у вас есть зависимости, которые используются только для модульного тестирования (например, mockito, junit и т. Д.), Тогда вы даете им область «test» в зависимостях maven, и они будут доступны для модульных тестов, но не включены в настоящий jar .

0 голосов
/ 12 февраля 2013

Я думаю, вы, возможно, пропустили флаг generatePom, я получил ту же ошибку, но в конце концов сработало следующее

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