MavenのローカルリポジトリをGroovyから参照する
MavenのローカルリポジトリをGroovyから参照する方法です。
~/.groovy/grapeConfig.xmlを作成して、以下のように書いておけばいいようです。
<ivysettings> <settings defaultResolver="downloadGrapes" /> <resolvers> <chain name="downloadGrapes"> <ibiblio name="local" root="file:${user.home}/.m2/repository/" m2compatible="true" /> <filesystem name="cachedGrapes"> <ivy pattern="${user.home}/.groovy/grapes/[organisation]/[module]/ivy-[revision].xml" /> <artifact pattern="${user.home}/.groovy/grapes/[organisation]/[module]/[type]s/[artifact]-[revision].[ext]" /> </filesystem> <ibiblio name="codehaus" root="http://repository.codehaus.org/" m2compatible="true" /> <ibiblio name="ibiblio" m2compatible="" /> <ibiblio name="java.net2" root="http://download.java.net/maven/2/" m2compatible="true" /> </chain> </resolvers> </ivysettings>
使い方
例えばpom.xmlに次のdependencyが記述されていたとします。
<dependency> <groupId>org.apache.mahout</groupId> <artifactId>mahout-core</artifactId> <version>0.4</version> </dependency>
これをGroovyから利用したかったら、ソースコードにこう書く。
@Grab(group='org.apache.mahout', module='mahout-core', version='0.4')
楽ちんですね。