依存ライブラリがセントラルリポジトリに無い場合

Mavenは、プログラムが依存するライブラリを自動的にセントラルリポジトリからダウンロードしてくれる.

しかし、ライブラリがセントラルリポジトリに無い場合が当然ありうる. （自分が書いたライブラリなど） その場合の対処方法は以下のように分けられる.
 * 1) 3rd party repository serverがある場合. （他人がリポジトリ用サーバを公開してくれている場合） --- 単にラッキーだった場合
 * 2) 自分でリポジトリを作らなければならない場合.
 * 3) 自前リポジトリ用のサーバを用意する
 * 4) ローカルリポジトリ（つまり自分の開発用PCのハードディスク）を使う場合 --- とりあえず急場をしのげばよい場合

'''要するに自前のリポジトリ用サーバを用意するのが唯一の解決法であり、それ以外はオマケである. '''

= 自前のリポジトリ用サーバを管理する =

webdavサーバを立てる

 * 自前のmavenリポジトリサーバを用意するには、単にwebdavのサーバを立てるだけである.
 * 適当にwebdavサーバにパスワードをかけておけば良い.

webdavサーバを利用可能にする
1. $HOME/.m2/settings.xmlに以下のようにパスワードを書く.

2. webdavサーバを認識するようpom.xmlを編集する.
 * 単純なプログラムのためのpom.xmlの雛形を参照せよ.

自分のプログラムをwebdavサーバに送り込む方法
単にプロジェクトのルートディレクトリ(artifactIdと同名のディレクトリ)上で以下のコマンドを打てば良い. mvn deploy

セントラルリポジトリで管理されていない、他人が書いたjarファイルをwebdavサーバに直接送り込む方法
まずカレントディレクトリに以下のようなpom.xmlを作る必要がある.

つぎに以下のコマンドによりwebdavサーバにjarファイルを送り込む.

このままだと、物はwebdavに送り込まれているが、Eclipse (m2eclipse)で認識できない. 一度EclipseのRunメニューからmvn packageを実行するとよい.

= とりあえずローカルリポジトリを直接使う場合 =

自作ライブラリの場合
mvn install とやると、jarがローカルリポジトリにインストールされる.

するとpom.xmlもローカルリポジトリに保存されるので、これを使って、「依存の依存」関係も解消できる.

3rd partyライブラリの場合
ローカルリポジトリへのjarファイルの登録は、次のコマンドを利用します.

mvn install:install-file -Dfile=登録するライブラリファイルのパス \ -DgroupId=グループID \ -DartifactId=アーティファクトID \ -Dversion=バージョン \ -Dpackaging=jar \ -DgeneratePom=true