hatenob

プログラムって分からないことだらけ

Mavenで自前のリポジトリを用意する

Mavenを使って作成したライブラリを他のプログラムでも使いたいときはMavenリポジトリに登録すれば色々と楽です。
でもセントラルリポジトリに登録するは手続きがあって面倒だし、そもそも公開するほどでもなかったりできなかったりで、中でだけ共有できればよい程度のものであれば自前でリポジトリを立てることができます。
Nexusを使って運用するなんてこともできるわけですが、色々と準備が面倒だったりするので一番簡単と思うやり方でやってみます。

Webサーバの用意

Mavenリポジトリは決まったレイアウトで決まったファイルを置いてあるWebサーバでしかありません。
今回はApacheを使います。

Alias /mvnrepo/ /var/www/mvnrepo/
<Directory "/var/www/mvnrepo">
    Options Indexes
    Order allow,deny
    Allow from all
</Directory>

Mavenリポジトリ用の領域を用意してそこを参照可能にします。中なので全アクセスOKにしておきます。
あとはこの/var/www/mvnrepoの配下に決まったレイアウトでライブラリを置いてあげればOKです。

配備用ファイルの作成

"決まったレイアウト"を自分で作るのはそれほど大変ではないかもしれませんが面倒です。なのでpom.xmlにちょこっと書き足してあげます。

    <distributionManagement>
        <repository>
            <id>repo.local</id>
            <url>file://${project.build.directory}/mvnrepo</url>
        </repository>
    </distributionManagement>

で、あとは、

$ mvn clean package deploy

とするとtarget/mvnrepoの下に対象の配備用ファイルができます。
あとはこれをSCPなりでWebサーバにアップすればOKです。
もちろん、WebDAVとかを使ってアップロードまでを自動化することも可能ですが、全自動化に対する強いモチベーションがないならこの程度も十分かなと思います。