Получение ошибки "Не удалось загрузить определения из ресурса net/sf/antcontrib/antcontrib.properties. Его не удалось найти".

Я получаю сообщение об ошибке 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. Как я могу обойти эту ошибку?

Ответ 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 Домашние записи или глобальные записи.