Ant中Javac任务的ClassPath

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文件的错误?

2个回答

4
很难确定。我没有看到明显的错误。
这里所有的例子:http://ant.apache.org/manual/Types/fileset.html都使用:
<include name="**/*.jar"/>

您现在使用的是“*.jar”而非直接指定文件名,但是只要.jar文件直接放置在\WebContent\WEB-INF\classes目录下,您目前的设置看起来应该是可以正常工作的。


2

这行代码应该指向你的 jar 包所在位置。

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

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

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接