2010-06-22 6 views
4

Existe-t-il un moyen de vérifier le classpath pour un pot avant d'exécuter un taskdef.ant vérifier le classpath pour jar avant taskdef

Par exemple, je veux entourer ce qui suit à une condition qui vérifie si un pot qui peut a la classe org.hibernate.tool.ant.HibernateToolTask avant d'exécuter la taskdef

<taskdef name="hibernatetool" classname="org.hibernate.tool.ant.HibernateToolTask" classpathref="hibernatetool-classpath" /> 

Répondre

9

Cela devrait fonctionner:

<available 
     property="hibernatetoolok" 
     classname="org.hibernate.tool.ant.HibernateToolTask" 
     classpathref="hibernatetool-classpath" /> 

<target name="hibernatetool" if="hibernatetoolok"> 
    <taskdef 
    name="hibernatetool" 
    classname="org.hibernate.tool.ant.HibernateToolTask" 
    classpathref="hibernatetool-classpath" /> 
</target> 

Ensuite, sur n'importe quelle cible où vous utilisez la tâche hibernatetool assurez-vous d'ajouter depends = "hibernatetool".

Questions connexes