Ant中的ClassPath用于Javac任务

Pri*_*ank 6 ant javac

我有以下ant文件来构建.但不幸的是

<project default="build.deploy.start" basedir=".">

    <property name="target.dir" value="C:\tom\webapp\"/>
    <property name="basesrc.dir" value="c:\SimpleChat\"/>   
    <property name="classes.target" value="${basesrc.dir}\WebContent\WEB-INF\classes"/>
    <property name="src.dir" value="${basesrc.dir}\src"/>
    <property name="classpath" value="${basesrc.dir}\WebContent\WEB-INF\classes"/>

    <!-- Classpath for the project -->  
    <path id="master-classpath">
      <fileset dir="${classpath}">
        <include name="*.jar"/>
      </fileset>
    </path>

    <!-- init method which will ensure that all directories exists before we start building/deploying-->
    <target name="init">
        <mkdir dir="${target.dir}\js"/>
        <mkdir dir="${target.dir}\images"/>
        <mkdir dir="${target.dir}\pages"/>
        <mkdir dir="${target.dir}\WEB-INF\lib"/>
        <mkdir dir="${target.dir}\WEB-INF\classes"/>
    </target>

    <!--To build an application so that files can be deloyed-->
    <target name="build" depends="init">
        <javac srcdir="${src.dir}" destdir="${classes.target}">
            <classpath refid="master-classpath"/>
        </javac>
    </target>
</project>
Run Code Online (Sandbox Code Playgroud)

我在路径元素中指定的LIB目录中有相应的jar文件.然而它给出了编译错误,包不存在,因为它无法看到我的JAR文件.

你能指出我正在做的错误,正确地包括那个罐子吗?

And*_*aam 4

很难说。我看不出任何明显的错误。

这里的所有示例: http: //ant.apache.org/manual/Types/fileset.html使用:

<include name="**/*.jar"/>
Run Code Online (Sandbox Code Playgroud)

而不是像您拥有的那样只是“*.jar”,但是只要 .jar 文件直接位于 \WebContent\WEB-INF\classes 内,您所拥有的看起来就应该没问题。