2013-03-08 6 views
10

Ich erhalte einen Fehler Could not load definitions from resource net/sf/antcontrib/antcontrib.properties. It could not be found., wenn ich versuche, auf Eclipse zu bauen. Also habe ich ant-contrib-0.6.jar heruntergeladen und in meiner /lib Position von apache ant gespeichert, aber es löst mein Problem immer noch nicht. Ich habe auch versucht, indem ich den /lib Standort in meiner CLASSPATH Systemvariablen spezifizierte. Wie kann ich diesen Fehler umgehen?Fehler erhalten "Definitionen konnten nicht aus Ressource net/sf/antcontrib/antcontrib.properties geladen werden. Sie konnte nicht gefunden werden."

+0

Ich weiß nicht über Eclipse, aber in NetBeans installiert es auch eine Ant. Sie können jedoch festlegen, welche Installation von Ant zu verwenden ist. Hast du die Lib in die richtige Ant-Installation gebracht? –

Antwort

18

Sie vollständigen Pfad zur ant-contrib JAR bereitstellen können explizit „Classpath“ Element mit:

<taskdef resource="net/sf/antcontrib/antlib.xml"> 
    <classpath> 
    <pathelement location="${path-to-ant-contrib}/ant-contrib-1.0b3.jar"/> 
    </classpath> 
</taskdef> 
+2

Setzen Sie Ihren 'ant-contrib - *. Jar' in $ HOME/.ant/lib und starten Sie Eclipse neu. Dies funktioniert auch unter Windows. –

+0

Dies hilft nicht, da auch die Einstellung env var ANT_HOME korrekt ist. Allerdings bekomme ich diesen Fehler ohne Eclipse, in der reinen Ant.

1

Es scheint, dass Sie das ant contrib jar nicht im richtigen lib-Verzeichnis installiert haben. Dies kann schwierig sein, wenn Sie mehrere ANT-Installationen haben.

Mein Vorschlag ist, Ihre ANT-Plugins in das Verzeichnis "$ HOME/.ant/lib" zu installieren. Man könnte noch einen Schritt weiter gehen und den Prozess automatisieren, wie folgt:

<project name="ant-contrib-tasks" default="all"> 

    <taskdef resource="net/sf/antcontrib/antlib.xml"/> 

    <target name="bootstrap"> 
     <mkdir dir="${user.home}/.ant/lib"/> 
     <get dest="${user.home}/.ant/lib/ant-contrib.jar" src="http://search.maven.org/remotecontent?filepath=ant-contrib/ant-contrib/1.0b3/ant-contrib-1.0b3.jar"/> 
    </target> 

    <target name="all"> 
     <for param="file"> 
      <fileset dir="." includes="*.txt"/> 
      <sequential> 
       <echo message="Found file @{file}"/> 
      </sequential> 
     </for> 
    </target> 

</project> 
0

Verwenden Sie den Code unten erwähnt in Ihrem Build xml:

<path id="ant.classpath"> 
<pathelement location="${ant.jarPath}/ant.jar" /> 
<pathelement location="${ant.jarPath}/ant-contrib-0.3.jar" /> 
</path> 
<taskdef resource="net/sf/antcontrib/antcontrib.properties"> 
<classpath refid="ant.classpath" /> 
</taskdef> 

Und in Ihrer Build-Eigenschaftsdatei:

ant.jarPath = D:/antjars

Und Platz ant.jar und ant-contrib-0.3.jar im Verzeichnis: D:/antjars

3

Eine wichtige Sache, die auf dieser Seite fehlt Stackoverflow ist, dass die richtige Einstellung ANT_HOME env var ist absolut wichtig und wichtig, ohne diese Einstellung sagt ant immer wieder den gleichen Fehler, unabhängig davon, wo Sie die Datei "ante-contrib-1.0b3.jar" auf Ihren Dateisystemen kopieren. Dieses fehlende Ding hat mich ein paar Stunden gekostet. =)

Allerdings erhalte ich diesen Fehler ohne Finsternis, in der reinen Ameise.

+1

Ja, Eclipse hat es für Sie konfiguriert. Übrigens, wenn Sie Apache-Ant herunterladen, extrahieren und 'bin \ ant.bat' oder' bin/ant' ausführen, wird ANT_HOME automatisch gesetzt. –

0

Überprüfen Sie, ob Sie Leseberechtigungen für die ant-contrib-JAR-Datei haben.

In unserem Fall nach dem Kopieren der Datei mit einem anderen Benutzer hat es nicht, die gleiche Fehlermeldung geben.

0

ich, dass auf diese Weise festgelegt:

die JAR In den Ant Laufzeit Classpath-Einträge.

Window>Preferences>Ant>Runtime>Classpath

Fügen Sie die JAR-Datei entweder Ant Hause Einträge oder Globale Einträge.