2009-09-17 6 views
6

EDIT:これはSVNを実際に使用してはいけないことを示しています。バージョンが個別のjarでなければならない場合は、個々のファイルをバージョンアップしてください)。SVNでNetBeans 6.7を使用してMavenリポジトリを作成/アクセスする*改訂*

Nexus(など)のようなリポジトリ管理ツールをホストするために内部サーバーを使用し、依存関係をプルダウンして出力するためにhttp経由でアクセスする必要があります。私たちは現在SVNでプロジェクトを続けています。展開の標準は何ですか?依存関係はMavenに入ります。プロジェクトはSVNに入ります。 distとbuildフォルダを無視すべきか?私たちのWARファイルはどこから配備されますか?

OLD QUESTION(後世のために)

私は、ブランドのMavenに新たなんだ、それについてジャックを知りません。私はそれがJava開発でどのようになるかを評価するために評価しようとしています。

NetBeans 6.7を使用して依存関係をプルダウンできるように、SVNサーバーにMavenリポジトリを置いておきたいと思います。私は多くのGoogleとstackoverflowの検索を通じてこれを行う方法を見つけることができませんでした。

ここでベストプラクティスは何ですか?私は、svn + sshを使って依存関係をダウンロードしたいと思っていますが、ほとんどの場合、オンラインではhttpを使用しているようです。

偉大なもので私の脳を満たしてください!


答えて

5

私はこれを行うことを強くお勧めします。 Maven成果物はSCMサーバーに属しません。アーティファクトを保存するには、Nexusのようなリポジトリ・マネージャを使用することを検討する必要があります。メインrepository managersの比較についてはこちらをご覧ください。

と言われています。 Subversionを使用して成果物をホストすることに決めた場合。 wagon scmを使用してSubversionリポジトリにデプロイする方法については、questionを参照してください。

Mavenの詳細については、Maven: the definitive guideを参照してください。

依存関係を管理するNetbeans用のMavenプラグインがあります。 This articleには、MavenとNetbeansのベストプラクティスのリストがあります。


最新の質問に基づいて更新します。自分のjarで何をするか:

Mavenにはdeploy phaseがあり、アーティファクトをリモートリポジトリに公開します。 pomのdistributionManagementセクションを設定し、settings.xmlにappropriate credentialsを提供して、展開を可能にする必要があります。通常、サードパーティの成果物から独立した状態に保つために、独自の成果物のためにサーバー上に個別の論理リポジトリを設定します。 Nexus bookは、Nexusでリポジトリを設定するための良いガイダンスです。特にAdopting a Repository Managerセクションを参照してください。

mvn deployを実行すると、展開フェーズまでのすべてのフェーズが実行され、残りのチーム/会社で使用できるアーティファクトがリポジトリに公開されます。

レポジトリへのアクセスを制限する必要がある場合は、認証されたユーザーのみがそれらのアーティファクトにアクセスできるようにリポジトリへのアクセス制御を設定できます(Nexusの場合は本書のManaging Securityセクションを参照してください)。

ArtifactoryやArchivaでNexusとほぼ同じことをすることができますが、Nexusの参考にしました。私はそれが好きで、ドキュメントは本当に良いです。

1

SVNに保存しないでください。

私はあなたがあまりにも多くの頭痛の種を取得していないことを確認するために、2つのことをするだろう:

  1. あなたとあなたの同僚が共有することができ、あなたのボックスのどこかにリポジトリ近いミラー。これにより、余分なダウンロードがなくなり、ミラー化されたpom/jarファイルで発生する可能性のある問題を修正できるようになり、仲間は頭痛を共有する必要がなくなります。そこにはいくつかのレポ・マネージャーがいます。
  2. マシンリポジトリで作業し、ローカル共有リポジトリに作成する可能性のあるpomファイルに変更/変更をプッシュすることをお勧めします。
関連する問題