ここでぐるぐる回っているように見えます。Ivy は Ant で動作します。build.xml
ビルドに使用するファイルがまだあります。このivy.xml
ファイルには、プロジェクトをビルドするために必要なサードパーティの jar のリストが含まれているだけです。したがって、あなたの質問に対する直接的な答えは次のようになります。
あなたのに次を入れてくださいbuild.xml
:
<target name="doc" description="generate documentation">
<delete dir="${doc.dir}"/>
<mkdir dir="${doc.dir}"/>
<javadoc sourcepath="${source.dir}" destdir="${doc.dir}"/>
</target>
Ivy を使用するときは、引き続き Ant を使用します。そして、まだbuild.xml
ファイルがあります。そして、さまざまな Ant タスクを使用してビルドを作成します。
このプロジェクトをダウンロードしてください。これは、3 つのクラス ファイルと 1 つのファイルを含む単純なビルドbuild.xml
です。次の 2 つの jar を含む jar ディレクトリがあることに気付くでしょう。
- commons-logging-1.1.1.jar
- spring.jar
ファイルの 36 行目から 40 行目を見るとbuild.xml
、プロジェクトは次のようなコンパイル クラスパスを作成しています。
<path id="java">
<fileset file="jar/spring.jar"/>
<fileset file="jar/commons-logging-1.1.1.jar"/>
</path>
したがって、コンパイルするときは次のようにします。
<javac destdir="bin">
<src path="${src}"/>
<classpath refid="java"/>
</javac>
では、これが Ivy でどのように変化するかを見てみましょう。Ivy で、ivy.xml
必要な jar の説明を含むファイルを作成します。ただし、直接使用するクラスを指定するだけで済みます。この場合、必要なのはspring.jar
. これが私のものivy.xml
です:
<ivy-module version="1.0>
<info organisation="com.seantheflexguy"
name="ContextExample"
revision="1.0"/>
<configurations>
<conf="default" visibility="public"/>
<conf="compile" visibility="public"/>
</configurations>
<dependencies>
<dependency org="org.springframework" name="spring"
rev="2.0.4" conf="compile->default"/>
</dependencies>
</ivy-module>
代わりに、ディレクトリ内の jar を使用する代わりに、jar
Ivy にクラスパスを作成させます。
<ivy:resolve/>
<ivy:cachepath pathid="java"/>
<javac destdir="bin">
<src path="${src}"/>
<classpath refid="java"/>
</javac>
タスクを使用してクラスパスを作成する代わりに、<path>
Ivy が使用する 2 つの Ant タスクを使用していることに注意してください。は私を<ivy:resolve/>
見て、ivy.xml
私が要求した jar への依存関係を解決します。これらの jar は、私の$HOME/.ivy2/cache
ディレクトリにダウンロードされます。
タスクはクラスパスを作成します。<ivy:cachepath>
クラスパスと呼んでいるjava
のは、それが以前に呼び出されたものだからです。
これら 2 つの Ivy タスクで、<javac>
タスクで使用できるクラスパスを作成しました。実際、私は<javac>
タスクを変更することさえ気にしていません。
したがって、アイビーでは次のようになります。
- 私はまだ私の
build.xml
. これは、実行する必要があるさまざまなビルド タスクを定義する方法です。実際、Ivy はbuild.xml
ファイルに必要なさらに多くの Ant タスクを定義しています。
- この
ivy.xml
ファイルは、jar の依存関係を定義するだけです。このプロジェクトに Ivy を実装すると、jar
ディレクトリを削除できます。
これは、Ivy がどのように機能するかを理解するのに役立ちますか?