6

Maven を使用するプロジェクトがいくつかあり、職場のネットワークで内部リポジトリを実行したいと考えています。サードパーティ製で一般に公開できないライブラリがいくつかあります。また、ネットワーク内 (TeamCity CI サーバーを含む) 内で利用できる必要があるが、ネットワーク外に展開できない独自のライブラリもいくつかあります。少し調査した結果、これを達成する方法に関する主な推奨事項が 3 つ見つかりました。Archiva、Artifactory、Nexus です。私はそれぞれを試しましたが、それらのいずれかによって作成された内部リポジトリを使用して、プロジェクトのビルドを成功させることができませんでした。

これにより、私は何かを誤解している、または何か間違ったことをしていると信じるようになります。Maven リポジトリのセットアップと内部 Maven リポジトリを説明し、それをプロジェクトに統合するチュートリアルを知っている人はいますか?

4

3 に答える 3

13

私は Nexus でしか作業していませんが、インストールは非常に簡単であることがわかりました。

  1. OSS バージョンをダウンロードするには、http://www.sonatype.org/nexus/goにアクセスしてください。
  2. 「WAR」ディストリビューションを入手する
  3. Web Application Manager を使用して、Tomcat のインストールにサーブレットをインストールします。

その時点で、訪問http://myserver:8080/nexusしてすべてが機能していることを確認できます。

表面的なセットアップでは、デフォルトのパスワードを my に追加しますsettings.xml

    <servers>
            <server>
                    <id>my-snapshots</id>
                    <username>admin</username>
                    <password>admin123</password>
            </server>
            <server>
                    <id>my-releases</id>
                    <username>admin</username>
                    <password>admin123</password>
            </server>
    </servers>

そして私のPOMファイルで:

    <distributionManagement>
            <snapshotRepository>
                    <id>my-snapshots</id>
                    <name>My internal repository</name>
                    <url>http://myserver:8080/nexus/content/repositories/snapshots</url>
            </snapshotRepository>
            <repository>
                    <id>my-releases</id>
                    <name>My internal repository</name>
                    <url>http://myserver:8080/nexus/content/repositories/releases</url>
            </repository>
    </distributionManagement>

これを超えるには、学習曲線がかなり跳ね上がりますが、Sonatype のオンライン ブックはかなり優れていることがわかりました。 Nexusを使用したリポジトリ管理は、リポジトリ サーバーで何ができるかを理解するためのものです。私が難しいと思った唯一のことは、情報の一部が彼らの商用ソフトウェアにのみ適用され、違いを宣伝するのに一生懸命働いていないことです.

于 2013-04-11T18:40:32.207 に答える
7

Archiva や Nexus などのリポジトリ マネージャーは、単なる内部リポジトリではありません。これらはプロキシとして機能し、Maven の中央リポジトリまたはその他の外部リポジトリにアクセスする必要がなくなります。

内部リポジトリだけの場合、必要なのは Maven リポジトリの構造を持つネットワークまたは HTTP アクセス可能な場所だけです。次に、設定ファイルで別のリポジトリとして参照します。

<repository>
  <id>my-internal-repo</id>
  <url>http://myrepo.mycompany.com/</url>
</repository>

詳細については、http://maven.apache.org/guides/introduction/introduction-to-repositories.html にある Maven のドキュメントを参照してください。

于 2013-04-11T19:40:15.407 に答える