Ответ 1
У меня есть сомнения в том, что вы пытаетесь сделать, но я предполагаю, что вы хотите повторно использовать те тесты, которые вы создали для проекта (module1), в другом. Как поясняется в примечании внизу Руководство по использованию подключенных тестов:
Обратите внимание, что в предыдущих выпусках этого руководства было предложено использовать
<classifier>tests</classifier>
вместо<type>test-jar</type>
. Хотя в настоящее время это работает в некоторых случаях, оно не работает должным образом во время сборки реактора JAR-модуля и любого потребителя, если задействована фаза жизненного цикла до установки. В таком случае Maven не будет разрешать тестовый JAR с выхода сборки реактора, а из локального/удаленного репозитория. По-видимому, JAR из репозиториев может быть устаревшим или полностью отсутствовать, вызывая сбои сборки (см. MNG-2045).
Итак, во-первых, чтобы упаковать скомпилированные тесты в JAR и развернуть их для общего повторного использования, настройте maven-jar-plugin
следующим образом:
<project>
<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>
</project>
Затем установите/разверните тестовый артефакт JAR как обычно (используя mvn install
или mvn deploy
).
Наконец, чтобы использовать тестовый JAR, вы должны указать зависимость с указанным типом test-jar
:
<project>
...
<dependencies>
<dependency>
<groupId>com.myco.app</groupId>
<artifactId>foo</artifactId>
<version>1.0-SNAPSHOT</version>
<type>test-jar</type>
<scope>test</scope>
</dependency>
</dependencies>
...
</project>