2009-08-11 5 views
6

У меня есть следующий файл ant для сборки. Но, к сожалению,ClassPath in Ant для задачи Javac

<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> 

У меня есть соответствующие файлы jar в каталоге LIB, указанном в элементе пути. и все же он дает ошибку компиляции, что пакет не существует, так как он не может видеть мой JAR-файл.

Не могли бы вы указать на ошибку, которую я делаю, чтобы включить эту банку правильно?

ответ

4

Трудно сказать. Я не вижу никаких очевидных ошибок.

Все примеры здесь: http://ant.apache.org/manual/Types/fileset.html использование:

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

вместо того, чтобы просто «* .jar», как у вас есть, но то, что у вас есть внешний вид, как это должно быть в порядке до тех пор, как .jar файлы напрямую внутри \ WebContent \ WEB-INF \ classes.

2

Эта строка должна указывать, где ваши фляги

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

Возможно

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