问题
Is there a way to check the classpath for a jar before executing a taskdef
.
For example, I want to surround the following with a condition that checks if a jar that can has the class org.hibernate.tool.ant.HibernateToolTask
before executing the taskdef
<taskdef name="hibernatetool" classname="org.hibernate.tool.ant.HibernateToolTask" classpathref="hibernatetool-classpath" />
回答1:
This should work:
<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>
Then on any target where you use the hibernatetool task be sure to add depends="hibernatetool".
来源:https://stackoverflow.com/questions/3093784/ant-check-classpath-for-jar-before-taskdef