build.xml 放在WEB-INF目录下,编译某些目录可以通过,但需要调用 WEB-INF/lib目录下的包的时候,却通不过?是为什么?比如,struts.jar 包,json.jar 包等等.我将struts.jar 或json.jar 放到tomcat/common/lib 目录下也不行,而且我也不能放到这目录下,因为是虚假主机空间,没有这样的权限,只能将包全放在WEB-INF/lib目录下build.xml
--------------------------
<project name="DigitalWith SCM V1.0" default="main" basedir="D:\jsp\WEB-INF">
<target name = "init">
<property name="tomcat.dir" value="C:\Tomcat 5.5" />
<property name="classes.dir" value="classes" />
<property name="container.dir" value="src/fivechess/container" />
<property name="message.dir" value="src/fivechess/message" />
<property name="room.dir" value="src/fivechess/room" />
<property name="sys.dir" value="src/fivechess/sys" />
<property name="user.dir" value="src/fivechess/user" />
<property name="util.dir" value="src/fivechess/util" />
<property name="action.dir" value="src/fivechess/action" />
<property name="mkjar.dir" value="lib" />
<property name="classpathref" value="${tomcat.dir}\common\lib\classes12.jar;
${tomcat.dir}\common\lib\commons-fileupload.jar;
${tomcat.dir}\common\lib\ant-commons-net.jar;
${tomcat.dir}\common\lib\servlet-api.jar;
${tomcat.dir}\common\lib\log4j-1.2.12.jar;
${tomcat.dir}\common\lib\mail.jar;
${tomcat.dir}\common\lib\activation.jar;"/>
</target> <target name="container" depends="init">
<javac srcdir="${container.dir}" destdir="${classes.dir}" classpath="${classpathref}" />
</target> <target name="message" depends="init">
<javac srcdir="${message.dir}" destdir="${classes.dir}" classpath="${classpathref}" />
</target> <target name="room" depends="init">
<javac srcdir="${room.dir}" destdir="${classes.dir}" classpath="${classpathref}" />
</target> <target name="sys" depends="init">
<javac srcdir="${sys.dir}" destdir="${classes.dir}" classpath="${classpathref}" />
</target>

<target name="user" depends="init">
<javac srcdir="${user.dir}" destdir="${classes.dir}" classpath="${classpathref}" />
</target>

<target name="util" depends="init">
<javac srcdir="${util.dir}" destdir="${classes.dir}" classpath="${classpathref}" />
</target> <target name="action" depends="init">
<javac srcdir="${action.dir}" destdir="${classes.dir}" classpath="${classpathref}" />
</target> <target name="compall" depends="container,message,room,sys,user,util,action">
</target>
</project>

解决方案 »

  1.   

    在你的build.xml文件中指定加入一下代码:
    <property name="lib.dir" value="WebRoot\WEB-INF\lib"/>   
     <path id="classpath">
            <fileset dir="${lib.dir}">
                <include name="*.jar"/>
            </fileset>
        </path>在编译命令段加入<classpath refid="classpath"/>
    即可
      

  2.   

    是这样吗:<project name="DigitalWith SCM V1.0" default="main" basedir="D:\jsp\WEB-INF">
    <target name = "init">
    <property name="tomcat.dir" value="C:\Tomcat 5.5" />
    <property name="classes.dir" value="classes" />
    <property name="container.dir" value="src/fivechess/container" />
    <property name="message.dir" value="src/fivechess/message" />
    <property name="room.dir" value="src/fivechess/room" />
    <property name="sys.dir" value="src/fivechess/sys" />
    <property name="user.dir" value="src/fivechess/user" />
    <property name="util.dir" value="src/fivechess/util" />
    <property name="action.dir" value="src/fivechess/action" />
                    <property name="lib.dir" value="lib" />
                      <path id="classpath">
                        <fileset dir="${lib.dir}">
                          <include name="*.jar"/>
                        </fileset>
                      </path> </target> <target name="container" depends="init">
    <javac srcdir="${container.dir}" destdir="${classes.dir}" classpath="${classpathref}" classpath refid="classpath"/>
    </target> <target name="message" depends="init">
    <javac srcdir="${message.dir}" destdir="${classes.dir}" classpath="${classpathref}" classpath refid="classpath"/>
    </target> <target name="room" depends="init">
    <javac srcdir="${room.dir}" destdir="${classes.dir}" classpath="${classpathref}" classpath refid="classpath"/>
    </target> <target name="sys" depends="init">
    <javac srcdir="${sys.dir}" destdir="${classes.dir}" classpath="${classpathref}" classpath refid="classpath"/>
    </target>

    <target name="user" depends="init">
    <javac srcdir="${user.dir}" destdir="${classes.dir}" classpath="${classpathref}" classpath refid="classpath"/>
    </target>

    <target name="util" depends="init">
    <javac srcdir="${util.dir}" destdir="${classes.dir}" classpath="${classpathref}" classpath refid="classpath"/>
    </target> <target name="action" depends="init">
    <javac srcdir="${action.dir}" destdir="${classes.dir}" classpath="${classpathref}" classpath refid="classpath"/>
    </target> <target name="compall" depends="container,message,room,sys,user,util,action">
    </target>
    </project>