私は最近、Nexus の利点を知るためだけに、ホームベースの Java プロジェクトに Nexus を統合したいと考えていました。ここの投稿とnexus Webサイトから読んだように、その主な使用目的は次のとおりです。
- Maven Central Repo には 20 万を超えるアーティファクトがあります。アーティファクトのローカル コピーを取得します。必要になるたびにダウンロードしないでください。アーティファクトを指定すると、最初に nexus にアーティファクトがあるかどうか尋ねられます。ある場合は、ローカル キャッシュから読み取られます。そうでない場合、ネクサスは中央リポジトリからダウンロードします。Central Repo の元のアーティファクトに関係なく、ビルドは引き続き機能します。ビルドなどを高速化します。
ここで私が理解していないのは、Mavenと同じではないですか? 初めて pom.xml で新しいアーティファクトを定義すると、jar が中央リポジトリからダウンロードされます。~/.m2/repository に配置されます。次回はコピペさえあればここから読み込まれます。新しいプロジェクトを作成しても、ダウンロードしたjarはこのリポジトリから使用されます。
私のネットワークにこれらの jar も必要とする別の開発者がいる場合、Nexus が必要になると思います。したがって、これらの jar をセントラルから個別にダウンロードする必要はありません。ネットワークベースのリポジトリ (Nexus) を定義すると、jar がこのリポジトリにダウンロードされます。他の開発者は、中央リポジトリにアクセスする必要なく、このリポジトリにアクセスできます。
私の場合、ネクサスの利点は見当たりません。Nexusが使用することを提案するこのsettings.xmlがあります:
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0
http://maven.apache.org/xsd/settings-1.0.0.xsd">
<localRepository/>
<interactiveMode/>
<usePluginRegistry/>
<offline/>
<pluginGroups/>
<servers/>
<mirrors>
<mirror>
<!--This sends everything else to /public -->
<id>nexus</id>
<mirrorOf>*</mirrorOf>
<url>http://localhost:8081/nexus/content/groups/public</url>
</mirror>
</mirrors>
<profiles>
<profile>
<id>nexus</id>
<!--Enable snapshots for the built in central repo to direct -->
<!--all requests to nexus via the mirror -->
<repositories>
<repository>
<id>central</id>
<url>http://central</url>
<releases><enabled>true</enabled></releases>
<snapshots><enabled>true</enabled></snapshots>
</repository>
</repositories>
<pluginRepositories>
<pluginRepository>
<id>central</id>
<url>http://central</url>
<releases><enabled>true</enabled></releases>
<snapshots><enabled>true</enabled></snapshots>
</pluginRepository>
</pluginRepositories>
</profile>
</profiles>
<activeProfiles>
<!--make the profile active all the time -->
<activeProfile>nexus</activeProfile>
</activeProfiles>
<proxies/>
</settings>
/.m2/repository/ ディレクトリにある jar は、 の jar とまったく同じhttp://localhost:8081/nexus/content/groups/public/
です。私の場合、Nexus の利点は何ですか?