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?
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>
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.
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.
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>
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
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.