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