0

Apache Ant Buildjavadocsでソース ファイルを作成する方法を知っています。

 <target name="doc" description="generate documentation">
    <delete dir="${doc.dir}"/>
    <mkdir dir="${doc.dir}"/>
    <javadoc sourcepath="${source.dir}" destdir="${doc.dir}"/>
 </target>

しかし、 Apache Ivyでそれらを作成する方法がわかりません。

サンプルの例を見せてもらえますか?

4

3 に答える 3

4

Apache Ivy は、Apache Ant (の代替ではない) と共に使用するための依存関係管理ライブラリです。したがって、<javadoc>いつもと同じタスクを使用します。

于 2012-09-24T18:57:44.603 に答える
2

Apache Ivy は、Ant (ビルド マネージャー) と連動する依存関係マネージャーです。Apache Ivy は、ビルドを処理するために Ant と一緒に使用されるのが通常です (または常に可能ですか?)。javadoc の作成は依存関係のタスクではなくビルド タスクであるため、Ivy を使用して javadoc を生成しても意味がありません。

于 2012-09-24T18:56:36.343 に答える
0

ここでぐるぐる回っているように見えます。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 を使用する代わりに、jarIvy にクラスパスを作成させます。

 <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 がどのように機能するかを理解するのに役立ちますか?

于 2012-09-27T22:05:39.997 に答える