зависимость maven: копирование модулей

Иметь проект с несколькими модульными проектами и сам с другими модульными проектами. У меня есть определенные модули, генерирующие специальный тип артефакта «.kar», и я развертываю его в артефакте на этапе развертывания maven.

Теперь я хочу найти способ, используя этот существующий pom, загрузить эти конкретные артефакты из артефакта по версии.

mvn dependency:copy ‹> позволяет мне загружать это для каждого конкретного артефакта.

Я хочу, чтобы это было сделано через файл pom, который генерирует эти артефакты. Проблема в том, что когда я использую зависимость: копия, она работает только на текущем pom, который может иметь или не иметь специальный артефакт.

Если я использую его, он повторно развертывает все артефакты и правильно загружает специальный артефакт. Хотя это не правильное решение.


person user2074161    schedule 02.07.2013    source источник


Ответы (1)


Вы можете добавить в свой проект новый модуль, который имеет <dependencies> все ваши .kar артефакты. В файле POM этого нового модуля вы можете использовать цель copy-dependencies плагина maven-dependency-plugin.

<project>

  <!-- Integrate this module into your multi-module project. -->
  <parent>
    <groupId>my.group.id</groupId>
    <artifactId>my-parent-pom</artifactId>
    <version>1.0.0-SNAPSHOT</version<
  </parent>

  ...

  <!-- Add dependencies for all your .kar artifacts. -->
  <dependencies>
    <dependency>
      <groupId>my.group.id</groupId>
      <artifactId>kar-artifact-1</artifactId>
      <version>${project.version}</version>
      <type>kar</type>
    </dependency>
    <dependency>
      <groupId>my.group.id</groupId>
      <artifactId>kar-artifact-2</artifactId>
      <version>${project.version}</version>
      <type>kar</type>
    </dependency>
    ...
  </dependencies>

  <build>
    <plugins>
      <!-- Use the maven-dependency-plugin to copy your .kar artifacts. -->
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-dependency-plugin</artifactId>
        <version>2.8</version>
        <executions>
          <execution>
            <id>copy-kar-artifacts</id>
            <goals>
              <goal>copy-dependencies</goal>
            </goals>
            <configuration>
              <includeTypes>kar</includeTypes>
            </configuration>
          </execution>
        </executions>
      <plugin>
    </plugins>
  </build>

</project>
person Stefan Ferstl    schedule 02.02.2014