Ant не распознает JUnit jar в своей директории lib? - PullRequest
2 голосов
/ 12 сентября 2011

Я использую Cygwin под Windows XP и пытаюсь заставить Ant использовать JUnit без кодирования записей classpath для него. Документ для JUnit говорит, что я могу:

Поместите и junit.jar, и ant-junit.jar в ANT_HOME / lib.

Моя удобная копия JUnit в действии гласит:

Возможно, вы заметили, что вы явно не добавляете JAR JUnit в путь к классам. Помните, что когда вы установили Ant, вы скопировали JAR-файл JUnit в каталог $ {ANT_HOME} / lib, чтобы использовать задачу Ant junit. Поскольку junit.jar уже находится в вашем пути к классам, вам не нужно указывать его в задаче javac для компиляции ваших тестов.

$ ANT_HOME установлен в каталог установки Ant. В подкаталоге lib я вижу ant-junit.jar (установлен с Ant) и junit-4.9.jar (скопированный мной). Кажется хорошо, верно? Но этап компиляции теста завершается неудачно:

[javac] Compiling 1 source file to E:\tools\ctg\bin\test
[javac] E:\tools\ctg\src\test\TestAll.java:3: package org.junit does not exist
[javac] import org.junit.*;

и так далее. Я попытался переименовать junit-4.9.jar в junit.jar. Нет радости Я заглянул в файл jar и увидел, что пакет существует внутри него. Фактически, компиляция работает нормально, если я явно включу этот самый файл jar в путь к классу Ant.

BLEH. Есть мысли о том, что может быть не так? Благодаря.

РЕДАКТИРОВАТЬ: По запросу вот цель javac:

<path id="classpath">
   <pathelement location="${app-bin}"/>
   <pathelement location="${test-bin}"/>
   <!--pathelement location="${junit-bin}"/-->
</path>

<target name="compile-test" depends="compile-app">
   <javac srcdir="${test-src}"
          destdir="${test-bin}"
          source="${java}"
          target="${java}"
          debug="on"
          includeantruntime="false">
      <compilerarg value="-Xlint"/>
      <classpath refid="classpath"/>
   </javac>
</target>

Обратите внимание, что двоичный файл JUnit закомментирован. Моя цель - удалить его и запустить компиляцию.

Ответы [ 2 ]

6 голосов
/ 13 сентября 2011

includeantruntime="false" говорит ant не включать libs в каталог lib для компиляции.

Вы должны добавить банку к пути к классу, который вы дадите цели javac. Или установите для свойства значение true.

0 голосов
/ 13 сентября 2011

Попробуйте удалить номер версии из имени файла файла JAR.
то есть переименовать junit-4.9.jar в junit.jar

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