web-dev-qa-db-fra.com

Obtention d'une erreur "Impossible de charger les définitions à partir de la ressource net/sf/antcontrib/antcontrib.properties. Elle est introuvable."

Je reçois une erreur Could not load definitions from resource net/sf/antcontrib/antcontrib.properties. It could not be found. lorsque j'essaie de construire avec Eclipse. J'ai donc téléchargé ant-contrib-0.6.jar et l'ai conservé à l'emplacement /lib d'Apache ant, mais cela ne résout toujours pas le problème. J'ai également essayé en spécifiant l'emplacement /lib dans ma variable système CLASSPATH. Comment puis-je contourner cette erreur?

13
gauravhalbe

Vous pouvez indiquer explicitement le chemin complet du fichier JAR ant-contrib en utilisant l'élément "classpath":

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

Une chose importante qui manque à cette page StackOverflow est que la définition de la variable d'environnement ANT_HOME correcte est absolument essentielle et importante. Sans ce paramètre, ant continue à indiquer la même erreur, quel que soit l'emplacement où vous copiez le fichier ant-contrib-1.0b3.jar . Cette chose manquante m'a coûté quelques heures. =)

Cependant, je reçois cette erreur sans Eclipse, dans la fourmi pure.

6

J'ai corrigé ça de cette façon:

Ajoutez le fichier JAR aux entrées du chemin de classe d’exécution Ant.

Window>Preferences>Ant>Runtime>Classpath

Ajoutez le fichier JAR aux entrées Ant Home ou Global.

3
Alexandre Blais

Il semblerait que vous n’ayez pas installé le fichier ant contrib dans le répertoire correct de lib. Cela peut être difficile à réaliser si vous avez plusieurs installations de ANT. 

Ma suggestion est d'installer vos plugins ANT dans le répertoire "$ HOME/.ant/lib". Vous pouvez aller plus loin et automatiser le processus comme suit:

<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>
1
Mark O'Connor

Utilisez le code mentionné ci-dessous dans votre 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>

Et dans votre fichier de propriétés de construction:

ant.jarPath = D:/antjars

Et placez ant.jar et ant-contrib-0.3.jar dans le répertoire: D:/antjars

0
Ankit Adlakha

Vérifiez que vous avez lu les autorisations pour le fichier jar ant-contrib.

Dans notre cas, après avoir copié le fichier avec un autre utilisateur, ce n’est pas le cas, donnant le même message d’erreur.

0
79E09796