6

我有以下 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>

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

您能否指出我为正确包含该 jar 所做的错误?

4

2 回答 2

4

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

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

<include name="**/*.jar"/>

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

于 2009-08-11T13:54:20.947 回答
2

这条线应该指向你的罐子在哪里

<property name="classpath" value="${basesrc.dir}\WebContent\WEB-INF\classes"/>

大概

<property name="classpath" value="${basesrc.dir}\WebContent\WEB-INF\lib"/>
于 2009-08-11T15:51:27.563 回答