1

私はまったく新しいですが、でどのように機能するのAntかわかりません。スクリプトを作成するためのクラスを作成しましたが、それをinとしてデプロイしたいと思いました。このクラスは外部ライブラリとして使用し、他のライブラリは私のためにいくつかのタスクを実行します。ファイルを投稿しました。classpathAntJavataskAntcommons-codec-1.2.jarUnicodeMD5build.xml

<?xml version="1.0" encoding="ISO-8859-1"?>
    <project name="TcZip" basedir="." default="jar">

    <property name="src.dir" value="src" />
    <property name="classes.dir" value="classes" />
    <property name="library.dir" value="library" />

    <path id="external.classpath">
        <pathelement location="${library.dir}/commons-codec-1.2.jar" />
    </path>

    <target name="clean" description="Delete all generated files">
    <delete dir="classes" />
    <delete file="TcZip.jar" />
    </target>

    <target name="compile" description="Compiles the task">
    <mkdir dir="${classes.dir}" />
    <javac srcdir="src" destdir="classes" />
        <classpath>
            <path refid="external.classpath" />
        </classpath>
    </target>

    <target name="jar" description="JARs the Task" depends="compile">
    <jar destfile="TcZip.jar" basedir="classes" />
    </target>

    <target name="use" description="Use the task" depends="jar">
    <taskdef name="tczip" classname="ZipComparision" classpath="${ant.project.name}.jar" />
    <tczip />
    </target>

</project> 

私のtaskディレクトリには、次のものがあります。

+task
 - build.xml
 - classes
 - library
 - src

libraryファイルがclasses含まれていcommons-codec-1.2.jarます。ただし、build.xmlファイルに示されているように、の<property>タグを追加しましたlibrary。実行すると、次のようant compileになります。

compile:
    [javac] C:\workspace\task\build.xml:19: warning: 'includeantr
untime' was not set, defaulting to build.sysclasspath=last; set to false for rep
eatable builds
    [javac] Compiling 3 source files to C:\workspace\task\classes

    [javac] C:\workspace\task\src\Tczip.java:18: error: package o
rg.apache.commons.codec.binary does not exist
    [javac] import org.apache.commons.codec.binary.Hex;
    [javac]                                       ^
    [javac] C:\workspace\task\src\Tczip.java:190: error: cannot f
ind symbol
    [javac]     mdEnc = new String( Hex.encodeHex( digest ));
    [javac]                         ^
    [javac]   symbol:   variable Hex
    [javac]   location: class Tczip
    [javac] C:\workspace\task\src\Tczip.java:254: error: cannot f
ind symbol
    [javac]          mdEnc = new String( Hex.encodeHex( digest ));
    [javac]                              ^
    [javac]   symbol:   variable Hex
    [javac]   location: class Tczip
    [javac] 3 errors

BUILD FAILED
C:\workspace\task\build.xml:19: Compile failed; see the compiler
error output for details.

誰かがそれを手伝ってくれませんか?ありがとうございました

4

1 に答える 1

2

locationinpathelementディレクティブを。に置き換えpathます。

于 2012-10-12T23:24:26.360 に答える