Ant-JUnit Ошибка: Ant хочет JUnit .jar в своем classpath - PullRequest
8 голосов
/ 26 января 2011

Привет, ребята, я немного новичок в JUnit и Ant. Я хочу знать, что означает эта ошибка:

The <classpath> for <junit> must include junit.jar if not in Ant's own classpath

Я компилирую проект Java и не могу выйти за рамки этого.

Ответы [ 6 ]

9 голосов
/ 27 января 2011

В документации к задаче Junit ant приведен список параметров для получения junit.jar в classpath:

http://ant.apache.org/manual/Tasks/junit.html

Чтобы сохранить поиск, есть следующие варианты:воспроизведено ниже.Я предпочитаю вариант 1.

  1. Поместите junit.jar и ant-junit.jar в ANT_HOME / lib.
  2. Не помещайте ни в ANT_HOME / lib, а вместо этого включите ихместоположения в вашей переменной среды CLASSPATH.
  3. Добавьте оба JAR-файла в ваш путь к классу, используя -lib.
  4. Укажите расположения обоих JAR-файлов, используя элемент в файле компоновки.
  5. Оставьте ant-junit.jar в его расположении по умолчанию в ANT_HOME / lib, но включите junit.jar в передаваемый.(начиная с Муравья 1.7)
4 голосов
/ 25 января 2013
<property name="lib.dir" value="webcontent\WEB-INF\lib" />

<path id="classPath">
    <pathelement location="${lib.dir}/junit-4.11.jar" />
</path>

<target name="test" depends="build">

    <junit haltonerror="false" haltonfailure="false" fork="yes">
        <classpath path="${lib.dir}">
            <path refid="classPath" />
        </classpath>

    </junit>
</target>
1 голос
/ 04 января 2015

Я провел пару часов с этой проблемой сегодня.У меня были файлы .jar, все указанные в Eclipse через Project | Properties | Java Build Path, но я все еще получал ошибку

 <classpath> for <junit> must include junit.jar if not in Ant's own classpath

при запуске Ant из Eclipse.

Запуск Ant из командной строки будет работать нормально (у меня все было в переменной окружения classpath).

Но в Eclipse единственное, что работало, было явное указание classpath внутри элементов,Например:

    <path id="JUnit 4.libraryclasspath">
        <pathelement location="...\plugins\org.junit_4.11.0.v201303080030\junit.jar"/>
        <pathelement location="...\plugins\org.hamcrest.core_1.3.0.v201303031735.jar"/>
        <pathelement location="...\lib\ant-junit4.jar"/>        
    </path>
    <path id="Ant1.classpath">
        <pathelement location="bin"/>
        <pathelement location="."/>
        <path refid="JUnit 4.libraryclasspath"/>
    </path>

... stuff...

    <target name="test1" depends="compile">
        <junit>
            <classpath refid="Ant1.classpath"/>
        </junit>

    </target>

Без явного указания пути к классу в элементе junit, он будет каждый раз прерываться в затмении, даже просто голый

 <junit/> 

ссылка

IЯ не эксперт, просто сообщаю, что сработало сегодня.

-ctb

0 голосов
/ 24 мая 2018

Окно -> Настройки -> Ant -> Runtime -> Classpath Добавить junit-xx.jar в глобальные записи как внешний файл jar.

0 голосов
/ 21 марта 2014

Понятия не имею, что это значит, но в моем случае, похоже, возник конфликт из-за Dropbox.Перезапуск NetBeans решил проблему.Может быть, это как-то связано с моим использованием Linux и одноклассниками с использованием Windows, но я не уверен.

«Просто перезапустите Netbeans» может быть слишком простым для ответа на стеке, но если кто-то разместил его, онсэкономили мне время ...

0 голосов
/ 27 января 2011

Я считаю, что причина заключается в следующем: junit.jar отсутствует в переменной среды CLASSPATH. Либо добавьте junit.jar в CLASSPATH, либо добавьте его в путь к классам, который вы определили в файле сборки ant.

Вот введение в муравья .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...