2013-11-15 10 views
6

Nexusからライブラリを取得するためにEclipse + Mavenプラグインを使用しています。 また、Nexusに内部ライブラリを置いています。Eclipse/Maven/Nexusでライブラリを非難する方法は?

ライブラリの新しいバージョンをNexusにリリースする際、古いバージョンを「廃止」にしたいと考えていますか?たとえば、EclipseのMavenプラグインを使用する場合、彼は古いバージョンを選択し、Eclipseは「廃止予定」と表示します。

古いバージョンのシステムでは古いバージョンが必要なものもありますので、Nexusから直接削除することはできません。しかし、新しいシステムで古いバージョンを使用することは望ましくありません。

答えて

5

maven-enforcer-pluginでルールを追加すると、古いバージョンの使用を防ぐことができますが、すべての新しいプロジェクトで使用する必要がある相手のpomを介してのみ許可されます。

0

Nexusから削除したくないです。誰かがあなたのソフトウェアの古いバージョンを作りたいと思ったらどうなりますか?

私はむしろJavaのメソッド/クラス廃止メソッドを使用し、新しいライブラリバージョンで古いAPI呼び出しを非難します。

2

Mavenでリリースを「廃止」する方法はありません。

古いリリースはまだ動作しています。古いプロジェクトでもまだ使用されており、満足しています。通常、プロジェクトのアップグレードを強制する必要はありません。

また、Nexus(デフォルトで正当な理由があります)では、リリースされたPOMを変更することはできません。

あなたが必要とするのは、今すぐ使用すべき最高のバージョンを伝える方法です。これを行う正しい方法はウェブサイトです。 POMの<url>要素にURLを追加するだけで簡単に見つけることができます。

また、versions pluginmvn versions:display-dependency-updatesmvn versions:display-plugin-updatesを使用すると、より高いバージョンの依存関係のリストを取得できます。

+1

ライブラリに、リリース後に捕まえられた厄介なバグがあると判断された場合はどうなりますか?新しいプロジェクトがそのバージョンに対してコンパイルされることを許可しないこと、または少なくともBOLD文字でこれが推奨されていないライブラリであることを示すことは理想的です(URLは詳細を示す可能性があります)。 – scorpiodawg

+0

これは妥当なシナリオのように聞こえるが、Mavenの動作方法は変わらない。リリースされたPOMに「注釈を付ける」、または変更する公式の方法はない。 https://stackoverflow.com/questions/9789611/removing-an-artifact-from-maven-centralも参照してください。 –

関連する問題