tanamonの稀に良く書く日記

KEEP CALM AND DRINK BEER

Maven2でテキトウに社内リポジトリを作る方法

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以下は無くてもいいですが、依存ライブラリがあるのに書かないと参照するプロジェクト側でイチイチ依存関係を書かなくてはいけなくなるので、ここに書いておいたほうが便利です。

登録

EclipseSubversion連携でプロジェクトごとコミットするだけです。

使い方

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>