2

依存関係の最新の安定バージョンを常に使用するようにMavenに指示するにはどうすればよいですか?

私は、最新のリリースバージョン、またはこの質問からの最新バージョンだけに依存できることを知っています。また、依存関係プラグインを使用できることも知っています(これもそのリンクから)。

ただし、毎週更新されるように見えるgoogleのguavaライブラリを使用しています。私はいつもバージョンを更新していることに気づきます。これはグーグルのバージョニングシステムであり、ビッグバンの更新よりもインクリメンタルな更新であるため、特にこのライブラリの性質を考えると、何かが壊れる可能性はほとんどありません。

そのため、Maven依存関係のバージョン識別子を変更し続ける必要はありません。だから私はこれを行うことができます:

    <dependency>
        <groupId>com.google.guava</groupId>
        <artifactId>guava</artifactId>
        <version>[12.0.1,)</version>
    </dependency>

これにより、バージョン12.0.1以降が提供されます...この依存関係のスナップショットバージョンを提供するリポジトリに依存しないため、常に最新のリリースバージョンを使用できます。

ただし、「rc」バージョン(13.0-rc1および13.0-rc2)も提供されます。これは私が避けたいことです。

Mavenを安定リリースのみに依存させることは可能ですか?つまり、名前に「rc」、「beta」、「alhpa」が含まれておらず、単なる「13.0」です。

4

1 に答える 1

2

依存関係の version 要素で RELEASE 値を使用して、Maven に最新のリリース バージョンを使用させることができます。ただし、ビルドの再現性が損なわれる可能性があるため、これはベスト プラクティスではありません。

また、Maven は 12.0.1 と 13.0-rc1 のようなバージョン間で論理的な違いを作りません。Maven の観点からは、どちらもリリースされたバージョンであり、基本的にあなたがしようとしていることは、いくつかの方法で Maven リリースのイデオロギーを破ることです。

したがって、13.0-rc1 のような成果物をバージョン管理する代わりに、通常のリリースを行い、リリースの一部として特別なリポジトリと成果物のプロモーション プロセスを使用する必要があります。したがって、テスト中に使用できるリリース候補リポジトリを用意し、テストに合格したら、それらのアーティファクトを最終リリース リポジトリに昇格させることができます。ただし、変更が必要な場合は、リリースされたバージョンを更新するだけなので、13.0、13.0.1 など...

于 2012-08-14T15:23:27.287 に答える