0

私は最近、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 の利点は何ですか?

4

1 に答える 1