2009-08-11 25 views
6

J'ai un fichier Ant à construire. Mais malheureusementClassPath dans Ant pour tâche 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> 

J'ai des fichiers jar respectifs dans le répertoire LIB spécifié dans l'élément path. et pourtant il donne l'erreur de compilation que le paquet n'existe pas car il ne peut pas voir mon fichier JAR.

Pouvez-vous s'il vous plaît signaler l'erreur que je fais pour inclure ce pot correctement?

Répondre

4

Difficile à dire. Je ne peux pas voir d'erreurs évidentes.

Tous les exemples ici: http://ant.apache.org/manual/Types/fileset.html utilisation:

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

au lieu de simplement « * .jar » que vous avez, mais ce que vous avez semble que cela devrait être ok tant que les fichiers .jar sont directement inside \ WebContent \ WEB-INF \ classes.

2

Cette ligne doit pointer vers où vos pots sont

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

probablement

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