Maven2で社内リポジトリをマジメに作ると面倒なんだけど、実は所定の場所に置くだけで認識するみたいです。これは正当な方法ではないですけど、とりあえず使いたいときとかには便利です。
ということで、試しにWickeXtを社内リポジトリに置いてみました。
考え方
mavenreposという名前でEclipseプロジェクトを作り、所定の位置にファイルを置いた後にSubversionサーバにコミットする。利用側はSubversionサーバに対してhttpでアクセスをする。
配置先
Eclipseプロジェクト内の構成
\---org \---objetdirect \---wickext \---0.9 wickext-0.9.jar wickext-0.9.pom
ファイルは上記構成で配置します。
ディレクトリは{groupId(.ごとに1ディレクトリ)}\{artifactId}\{version}で作成しておき、その中に{artifactId}-{version}.jarと{artifactId}-{version}.pomを入れるようにします。
jar
元々のjarファイルは{artifactId}-{version}.jarの形式にリネームして配置します。
pom
pomは以下のような感じで作成します。
<?xml version="1.0" encoding="UTF-8"?> <project> <modelVersion>4.0.0</modelVersion> <groupId>org.objetdirect</groupId> <name>WickeXt</name> <version>0.9</version> <artifactId>wickext</artifactId> <packaging>jar</packaging> <dependencies> <dependency> <groupId>org.apache.wicket</groupId> <artifactId>wicket</artifactId> <version>1.4-rc2</version> </dependency> </dependencies> </project>
dependencies以下は無くてもいいですが、依存ライブラリがあるのに書かないと参照するプロジェクト側でイチイチ依存関係を書かなくてはいけなくなるので、ここに書いておいたほうが便利です。
登録
EclipseのSubversion連携でプロジェクトごとコミットするだけです。
使い方
pom.xmlにはdependencyの他にrepositoryを指定しておきます。
<dependencies> <dependency> <groupId>org.objetdirect</groupId> <artifactId>wickext</artifactId> <version>0.9</version> </dependency> </dependencies>
<repositories> <repository> <id>jp.tanamon</id> <name>tanamon repository</name> <url>http://tanamon.jp/test/mavenrepos</url> </repository> </properties>