ユーザ用ツール

サイト用ツール


maven2

Maven2

Javaビルドツール、NetBeansがサポート、Eclipseはプラグインを入れても中途半端にサポート

Central リポジトリに無い jar を自前リポジトリにデプロイ

MavenはデフォルトでCentralリポジトリから依存ライブラリを探してくる。

しかし、会社で開発した自社ライブラリは当然Centralリポジトリには無い。ライセンスなどの問題でリポジトリに公開されていないライブラリも存在する。mavenを使っているのにそれらを別に管理するのは非効率なので、自前でリポジトリを作成してデプロイするといい。

Oracleのドライバ 10.2.0.4 を例に取る。

- Webサーバで適当なフォルダを公開する(ここでは例として /var/www/htdocs/maven2 を http://ore.repository/maven2/ で公開したとする) 
- サーバにmaven2をインストール
- OTNからojsbc14.jar(バージョン10.2.0.4)を落としてきて…
- mavenコマンドで自前リポジトリにデプロイ

デプロイするmavenコマンドはこれ。/var/www/htdocs/maven2 を maven2の公開リポジトリのローカルパスとする。

mvn deploy:deploy-file -Dfile=ojdbc14.jar -DgroupId=com.oracle -DartifactId=ojdbc14 -Dversion=10.2.0.4.0 -Dpackaging=jar -DgeneratePom=true -Durl=file:///var/www/htdocs/maven2

サーバへログインしなくても、WebDAV、ftp、ssh等を通してサーバ上のリポジトリへdeployできるようにするプラグインがある。

pomに以下の設定を追加しておくと、自前リポジトリからOracleドライバを探してくれる。

  <repositories>
    <repository>
      <id>inhouse</id>
      <name>Inhouse Repository</name>
      <url>http://ore.repository/maven2/</url>
    </repository>
  </repositories>

idは他と被らなそうな適当な値を入れておく(これはsetting.xmlの設定値を読み込むためのID)。centralというidは使えない。

Hudsonを使って俺ライブラリを自前リポジトリにデプロイ

mavenプロジェクトで開発しているライブラリは、Hudsonを使ってデプロイさせるのが一番手っ取り早い。

ビルド後の処理で「Mavenリポジトリへ成果物をデプロイ」をチェックし、リポジトリURLを設定。接続にユーザ名、パスワード等が必要ならばリポジトリIDを記述して、そのユーザ名やパスワードをHudsonを実行するユーザーの~/.m2/settings.xmlに記述する。

maven2.txt · 最終更新: 2009/04/17 03:39 by 127.0.0.1