今日、私は自分のプロジェクト チームに Maven を「販売」しようとしていましたが、このユース ケース シナリオに出くわし、困惑しました。
ユーザーは、プロジェクトの依存関係を /lib フォルダーに保存し、その依存関係をそのフォルダーから解決したいと考えています。
それがかなり可能かどうか知りたいです。アーティファクト リポジトリ サーバーを維持する必要はありません。
今日、私は自分のプロジェクト チームに Maven を「販売」しようとしていましたが、このユース ケース シナリオに出くわし、困惑しました。
ユーザーは、プロジェクトの依存関係を /lib フォルダーに保存し、その依存関係をそのフォルダーから解決したいと考えています。
それがかなり可能かどうか知りたいです。アーティファクト リポジトリ サーバーを維持する必要はありません。
問題は、ユーザーがプロジェクトの依存関係を /lib フォルダーに保存したい理由です。
依存関係管理は Maven の大部分を占めています。アーティファクト リポジトリを使用すると、ライブラリを依存関係として含めることができ、JAR の 1 つのインスタンスを管理するだけで済みます。JAR を参照する 10 個のプロジェクトがある場合、それらの 10 個のプロジェクトすべてでその JAR を維持する必要がある場合、/lib プロジェクト フォルダーに 10 個の JAR ファイルが存在することになります。
JARファイルをアップグレードしたい場合は、少し悪夢です。
残念ながら、maven を使用してすべてのメリットを享受したい場合は、アーティファクト リポジトリを使用することをお勧めします。
例
common.jar というプロジェクト ライブラリがあります。プロジェクトA、B、Cで使用されるもの
新しいプロジェクトを作成します。プロジェクトに common.jar を含めたい場合、ほとんどの場合、プロジェクト A、B、または C に移動し、JAR をコピーして貼り付けます。(特に信頼できる方法ではありません)
Maven リポジトリがある場合は、pom に依存関係を追加するだけです
<dependency>
<group>com.example.group</group>
<artifactId>common</artifactId>
<version>1.0</version>
</dependency>
これは、すべてのプロジェクトが使用するライブラリの中央バージョンが 1 つあることを意味します。これを親 pom で宣言して、すべてのプロジェクトに含めることもできます。