2016-09-28 2 views
1

Dies ist zu machen, was ich versuche zu tun:Der Versuch, dieses Ziel bedingten

<target name="example"> 
    <if> 
     <equals arg1="${var}" arg2="true" /> 
     <then> 
     <exec executable="/bin/bash"> 
      <arg value="script.sh" /> 
     </exec> 
     </then> 
    </if> 
</target> 

Und wenn ich das Ziel mit ant Beispiel ausführen bekomme ich diesen Fehler:

Problem: failed to create task or type if 
Cause: The name is undefined. 
Action: Check the spelling. 
Action: Check that any custom tasks/types have been declared. 
Action: Check that any <presetdef>/<macrodef> declarations have taken place. 

ich wirklich brauchen Hilfe hier. Ich würde es wirklich schätzen

+0

Die folgende Antwort zeigt, wie die fehlende 3rd-Party-Abhängigkeit installieren: http://stackoverflow.com/questions/34351322/there-isnt-antlib-xml-in-my- ant-contrib-0-3/34361910 # 34361910 –

Antwort

1

Das ist, weil if benutzerdefinierte Aufgabe von ant-contrib Bibliothek ist.

Stellen Sie sicher, Ameise Bibliothek in Ihrem Klassenpfad. Binärdateien können von here heruntergeladen werden. Extrahiere die ant-contrib-jar-Datei an einen Ort. Und geben Sie das gleiche in unter taskdef.

Dann fügen Sie den taskdef zu Beginn des build.xml. Weitere Informationen finden Sie unter documentation.

Für zB:

<taskdef resource="net/sf/antcontrib/antcontrib.properties"> 
    <classpath> 
     <pathelement location="/absolute/path/to/ant-contrib-1.0b3.jar" /> 
    </classpath> 
</taskdef> 
+0

Omg vielen Dank, es hat perfekt funktioniert !! – Lost

Verwandte Themen