2

私の問題は「単純」ですが、今まで解決策が見つかりませんでした。

2つのプロジェクトがあります。

  • 特定のプロファイルを使用して分類子(devまたはproと呼ばれる)で構築されたプロジェクトA
  • Aに依存するプロジェクトB (分類子devまたはproを使用)

  • 分類子(dev)を使用してAにインストール目標を実行します

  • 別の分類器( pro)を使用してインストール目標を再実行します

次に、Bプロジェクトをコンパイルします(そして、分類子DEVを使用してAに依存関係を置きます)

それはうまくいきます。


しかし、アーティファクト(目標のデプロイ)で同じことを行うと、機能しませ (リポジトリは「一意」に構成されます)

アーティファクトのために機能しませんか?Mavenの依存関係?分類子devと最新のタイムスタンプ、ビルド番号を使用してAをダウンロードしようとしています

しかし、最新のタイムスタンプは分類子プロに有効であるため、この「ロジック」は間違っています!!!

ローカルリポジトリとアーティファクトリポジトリの間のmetadata.xmlを読みました。似ている(しかし完全に同じではない)

何が悪いの?みんなありがとう!

  • Mavenバージョン:3.03
  • アーティファクトリーバージョン:2.3.4.1
4

1 に答える 1

5

これは、この回答を書いている時点で、ArtifactoryがMaven 2タイプのメタデータを生成しているためである可能性があります。これは、Maven 3によって生成された新しいタイプとは対照的に、分類子\タイプごとに個別の「最新バージョン」を指定していません。アーティファクト。

つまり、Maven 2メタデータは、最新のビルドと既知の履歴を指定します。

<?xml version="1.0" encoding="UTF-8"?>
    <metadata>
      <groupId>org.jfrog.test</groupId>
      <artifactId>multi1</artifactId>
      <version>2.1-SNAPSHOT</version>
      <versioning>
        <snapshot>
          <timestamp>20110928.112713</timestamp>
          <buildNumber>14</buildNumber>
        </snapshot>
        <lastUpdated>20110928112718</lastUpdated>
      </versioning>
    </metadata>

Maven 3は、アーティファクトタイプおよび分類子ごとに最新のビルドを指定します。

<?xml version="1.0" encoding="UTF-8"?>
<metadata>
  <groupId>org.jfrog.test</groupId>
  <artifactId>multi1</artifactId>
  <version>2.1-SNAPSHOT</version>
  <versioning>
    <snapshot>
      <timestamp>20110928.112713</timestamp>
      <buildNumber>14</buildNumber>
    </snapshot>
    <lastUpdated>20110928112718</lastUpdated>
    <snapshotVersions>
      <snapshotVersion>
        <classifier>tests</classifier>
        <extension>jar</extension>
        <value>2.1-20110928.112713-14</value>
        <updated>20110928112713</updated>
      </snapshotVersion>
      <snapshotVersion>
        <extension>pom</extension>
        <value>2.1-20110928.112713-14</value>
        <updated>20110928112713</updated>
      </snapshotVersion>
      ...
    </snapshotVersions>
  </versioning>
</metadata>

Maven 3メタデータ生成のサポートは、Artifactoryの次のバージョン(2.3.5)で現在計画されています。
それまでは、アーティファクトIDが異なる両方のアーティファクトを作成することをお勧めします。

于 2011-10-02T09:07:06.450 に答える