一つ前の内容など、ライブラリの準備が大変なので、Apache Ivy でライブラリの取得を楽にする。
まずは簡単な例で Apache Ivy の使用例を示す。
EclipseではAntが組み込まれているため、ファイル作成してAnt実行すればライブラリを簡単に取得できる。
まずは、Eclipseで新規Javaプロジェクト作成し、プロジェクト直下にbuild.xmlファイルを作成する。
<?xml version="1.0" encoding="UTF-8"?> <project name="ivy" default="resolve" xmlns:ivy="antlib:org.apache.ivy.ant"> <property name="ivy.install.version" value="2.1.0-rc2" /> <target name="download-ivy" unless="skip.download" description="--> download ivy"> <mkdir dir="lib"/> <echo message="installing ivy..."/> <get src="http://repo1.maven.org/maven2/org/apache/ivy/ivy/${ivy.install.version}/ivy-${ivy.install.version}.jar" dest="lib/ivy-${ivy.install.version}.jar" usetimestamp="true"/> </target> <target name="install-ivy" depends="download-ivy" description="--> install ivy"> <path id="ivy.lib.path"> <fileset dir="lib" includes="*.jar"/> </path> <taskdef resource="org/apache/ivy/ant/antlib.xml" uri="antlib:org.apache.ivy.ant" classpathref="ivy.lib.path"/> </target> <target name="resolve" depends="install-ivy" description="--> retrieve dependencies with ivy"> <ivy:retrieve /> </target> </project>
こんな感じ。
続いて、同じ場所にivy.xmlを作成。
<?xml version="1.0" encoding="UTF-8"?> <?xml-stylesheet type="text/xsl" href="./config/ivy/ivy-doc.xsl"?> <ivy-module version="2.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="http://ant.apache.org/ivy/schemas/ivy.xsd"> <info organisation="apache" module="ivy"/> <dependencies> <dependency org="commons-lang" name="commons-lang" rev="2.4"/> </dependencies> </ivy-module>
この例では、commons-langの2.4を指定。
build.xmlをEclipse上で実行すると、ivyをダウンロード後、libディレクトリの中に該当のJarを取ってきてくれる。
ivy.xmlに指定するライブラリの検索は、http://mvnrepository.com/で探せる。POM Dependencyの記載サンプルが載ってるので、この内容を前述の dependency のフォーマットに合わせて書き変えればOK。
springを使いたい時は、
<dependencies> <dependency org="org.springframework" name="spring" rev="2.5.6"/> </dependencies>
こんなふうにすると、依存関係のJarを落としてくる。
初回は時間がかかるが、次回以降は、ユーザディレクトリの.ivy2にキャッシュするので早くなる。が、エラーが・・