0

いくつかのモジュール プロジェクトを含むプロジェクトと、それ自体が他のモジュール プロジェクトを持つプロジェクトを用意します。特別なアーティファクト タイプ '.kar' を生成する特定のモジュールがあり、maven デプロイ フェーズ中にこれをアーティファクトにデプロイしています。

ここで、この既存の pom を使用して、これらの特定のアーティファクトをアーティファクトからバージョンごとにダウンロードする方法を見つけたいと考えています。

mvn dependency:copy <> を使用すると、特定のアーティファクトごとにこれをダウンロードできます。

これらのアーティファクトを生成する pom ファイルを介してこれを実行したいと考えています。問題は、dependency:copy を使用する場合です。特別なアーティファクトがある場合とない場合がある現在の pom でのみ実行されます。

それを使用すると、すべてのアーティファクトが再デプロイされ、特別なアーティファクトが正しくダウンロードされます。ただし、これは正しい解決策ではありません。

4

1 に答える 1

0

<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>
于 2014-02-02T20:00:12.413 に答える