1

Maven は、主に Java をサポートするために設計されました。ただし、いくつかのプラットフォーム依存のアーティファクトを Maven リポジトリに保存したいと思います。

私はその目的のために2つの分類子を持っています:

  • Linux- x86
  • Linux- x64

linux- x64アーティファクトが見つからない場合に Maven が linux- x86を見つけようとするような方法で依存関係を定義することは可能ですか?

ありがとう

4

1 に答える 1

0

私はこれを行う方法がないのではないかと心配しています。実際、依存関係について厳密かつまっすぐであるというMavenの哲学に反しています。そのような依存関係の宣言でコンパイラが何をすべきか想像してみてください。linux-x86アーティファクトまたはアーティファクトを使用してコンパイルする必要がlinux-x64ありますか?このモジュールのAPI/SPIは同じものだと思いますが、それを知っているのはあなただけです。コンパイラには特定のクラスパスが必要です。また、Mavenでアーティファクトが見つからないことの意味を言うのは難しいです。なぜなら、人々はさまざまなリポジトリを使用したり、ローカルリポジトリにさまざまなものを持ったりできるため、ビルドを繰り返すことができなくなるからです。Mavenチームは現在、ビルドの再現性がないため、非推奨と見なし、バージョン範囲に対してアドバイスします。これは、あなたのアイデアと比較して本当に「ソフト」なことです。

私のアドバイスは、これら2つのアーティファクト(linux-x86およびlinux-x64)を常にリリースし、この2つの分類子を使用してそれらに依存するアーティファクトもリリースすることです。それがMavenの方法です。

于 2012-04-11T11:51:12.027 に答える