Я получаю сообщение об ошибке Could not load definitions from resource net/sf/antcontrib/antcontrib.properties. It could not be found.
, когда я пытаюсь создать ant на eclipse. Поэтому я загрузил ant -contrib-0.6.jar и сохранил его в моем /lib
месте apache ant, но он все еще не разрешает мою проблему. Я также попытался указать расположение /lib
в системной переменной CLASSPATH
. Как я могу обойти эту ошибку?
Получение ошибки "Не удалось загрузить определения из ресурса net/sf/antcontrib/antcontrib.properties. Его не удалось найти".
Ответ 1
Вы можете предоставить полный путь к JAR ant -contrib JAR явно с помощью элемента "classpath":
<taskdef resource="net/sf/antcontrib/antlib.xml">
<classpath>
<pathelement location="${path-to-ant-contrib}/ant-contrib-1.0b3.jar"/>
</classpath>
</taskdef>
Ответ 2
Важная вещь, отсутствующая на этой странице StackOverflow, заключается в том, что установка правильного ANT_HOME env var абсолютно важна и важна, без этой настройки ant продолжает сообщать ту же ошибку, независимо от того, где вы скопируете ant -contrib-1.0 b3.jar в ваших файловых системах. Эта недостающая вещь обошлась мне несколько часов. =)
Однако я получаю эту ошибку без затмения в чистом ant.
Ответ 3
Похоже, что вы не установили вкладку ant contrib jar в правильный каталог lib. Это может быть трудно сделать, если у вас несколько установок ANT.
Мое предложение - установить ваши плагины ant в каталог $HOME/.ant/lib. Вы можете сделать еще один шаг и автоматизировать процесс следующим образом:
<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>
Ответ 4
Используйте приведенный ниже код в вашей сборке 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>
И в вашем файле свойств сборки:
ant.jarPath = D:/antjars
И поместите ant.jar и ant -contrib-0.3.jar в каталог: D:/antjars
Ответ 5
Проверьте, что у вас есть разрешения на чтение для файла ant -contrib jar.
В нашем случае после копирования файла с другим пользователем он этого не сделал, указав то же сообщение об ошибке.
Ответ 6
Я исправил это следующим образом:
Добавьте JAR в записи пути к классам Ant.
Window>Preferences>Ant>Runtime>Classpath
Добавьте JAR в Ant Домашние записи или глобальные записи.