Как я заставляю модуль Знатока не экспортировать банку?

Я сделал, чтобы Знаток создал с тремя модулями.

  • Модуль экспорт банка.
  • Модуль B зависит от A и экспортирует банку.
  • Модуль C является рядом регрессионных тестов, которые зависят от A и B.

Причина регрессионные тесты не являются просто частью модуля B, состоит в том, что они должны быть в состоянии работать против нескольких версий A и B для обеспечения назад совместимости. Я хочу быть в состоянии работать deploy от верхнего уровня создают для создания A.jar и B.jar, но не C.jar. Действительно ли это возможно?

14
задан Craig P. Motlin 5 February 2010 в 23:15
поделиться

4 ответа

<properties>
     <maven.deploy.skip>true</maven.deploy.skip>
</properties>

Если вам вообще не нужно создавать JAR, вы можете добавить еще два свойства:

<jar.skipIfEmpty>true</jar.skipIfEmpty>
<maven.install.skip>true</maven.install.skip>

Обратите внимание, что вам все еще нужен maven.deploy.skip , иначе сборка завершится ошибкой во время развертывания.

9
ответ дан 1 December 2019 в 13:08
поделиться

Подключаемый модуль развертывания maven включает параметры пропуска , которые предотвращают развертывание артефактов.

<plugin>
  <artifactId>maven-deploy-plugin</artifactId>
  <configuration>
      <skip>true</skip>
  </configuration>
</plugin>

Вы можете попробовать добавить это в проект C.

6
ответ дан 1 December 2019 в 13:08
поделиться

Используйте упаковку типа pom для C и перепривяжите все необходимые плагины:

<project>
  ...
  <packaging>pom</packaging>
  ...
  <build>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-compiler-plugin</artifactId>
        <executions>
          <execution>
            <id>test-compile</id>
            <phase>test-compile</phase>
            <goals>
              <goal>testCompile</goal>
            </goals>
          </execution>
        </executions>
      </plugin>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-resources-plugin</artifactId>
        <executions>
          <execution>
            <id>process-test-resources</id>
            <phase>process-test-resources</phase>
            <goals>
              <goal>testResources</goal>
            </goals>
          </execution>
        </executions>
      </plugin>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-surefire-plugin</artifactId>
        <executions>
          <execution>
            <id>test</id>
            <phase>test</phase>
            <goals>
              <goal>test</goal>
            </goals>
          </execution>
        </executions>
      </plugin>
      ...
    </plugins>
    ...
  </build>
  ...
</project>
3
ответ дан 1 December 2019 в 13:08
поделиться

Используйте ниже для модуля C:

<packaging>pom</packaging>
2
ответ дан 1 December 2019 в 13:08
поделиться
Другие вопросы по тегам:

Похожие вопросы: