読者です 読者をやめる 読者になる 読者になる

かとじゅんの技術日誌

技術の話をするところ

社内リポジトリをたてずにリポジトリを強引に共有する方法

Maven2を使っていると社内独自で開発しているjarを共有するために、社内リポジトリapacheで構築しますよね。
開発拠点が複数ある場合は、通常はVPNか、認証付きでインターネット経由で、リポジトリサーバへアクセスできるようにするのが一般的かと思いますが、それもセキュリティポリシーの関係で許されない場合はどうするか。非常に困りました。。。
こうなると、ファイルベースで開発対象のソースとリポジトリをやり取りするしかないんですよね。
というわけで、
通常、ローカルリポジトリは、ホームディレクトリ/.m2/repositry/になりますが、${DEV_HOME}/repositry/にしてしまうことにしました。
$DEV_HOMEという環境変数を定義して、$MAVEN_HOME/conf/settings.xml

<!--
<localRepository>/path/to/local/repo</localRepository>
-->

<localRepository>${DEV_HOME}/repositry</localRepository>

としました。
あと、EclipseではMaven2のsettings.xmlへのパスを設定してあげるだけ。
とりあえず、これで強引にリポジトリSVNからチェックアウトできるので独自のリポジトリサーバは不要です。(というか、もっと他によい方法があれば教えてください。。。)
唯一の難点はこのマシン上のリポジトリが${DEV_HOME}/repositryに固定されてしまうということ。maven自体をリポジトリにコミットしてそれを使ってもらうようにしてますが、、、いろいろややこしいです。はい。

追記:
http://d.hatena.ne.jp/Yoshiori/20091022/1256192217
コマンドライン引数で指定するほうがいいですね。設定ファイルを変更するとそれも配布しないといけないから。