Сценарий сборки Ant не может найти пакет JUnit - PullRequest
0 голосов
/ 08 марта 2020

Я пишу скрипт сборки с использованием Ant. Я успешно использую его для компиляции класса Java. Однако, когда дело доходит до компиляции тестового файла JUnit, скрипт сборки завершается неудачно. Ошибка в том, что он не может найти пакет JUnit.

Я скачал следующие файлы и поместил их в папку с именем junit :

apiguardian-api-1.1 .0.jar
junit-platform-commons-1.6.0.jar
junit-platform-suite-api-1.6.0.jar
junit-jupiter-api-5.6.0.jar
junit-platform-engine-1.6.0.jar
junit-vintage-engine-5.6.0.jar
junit-jupiter-engine-5.6.0.jar
junit-platform-launcher-1.6 .0.jar junit.jar
junit-jupiter-params-5.6.0.jar
junit-platform-runner-1.6.0.jar
opentest4j-1.2.0.jar

Моя переменная среды JUNIT / Users / NhatAnh / junit

Вот мой сценарий сборки:

<?xml version="1.0"?>

<project name="hw02" basedir="." default="clean">
    <property environment="env"/>
    <echo message="JUNIT: ${env.JUNIT}"/>
    <echo message="ANT_HOME: ${env.ANT_HOME}"/>

    <property name="src" location="src"/>
    <property name="bin" location="bin"/>
    <property name="test.src" location="test/src" />
    <property name="test.bin" location="test/bin" />
    <property name="test.reports" location="test/reports" />

    <path id="classpath">
        <pathelement location="bin"/>
        <pathelement location="test/bin" />
        <fileset dir="${env.JUNIT}" includes="org.junit*.jar" excludes="org.junit.vintage.*.jar" />
        <fileset dir="${env.JUNIT}" includes="org.opentest4j*.jar" />
        <fileset dir="${env.JUNIT}" includes="org.apiguardian*.jar" />
    </path>
    <echo message="${toString:classpath}"/>

    <target name="init">
        <mkdir dir="${bin}"/>
        <mkdir dir="${test.bin}"/>
        <mkdir dir="${test.reports}"/>
    </target>

    <target name="compile" depends="init">
        <javac srcdir="${src}" destdir="${bin}" includeAntRuntime="no">
            <classpath refid="classpath"/>
            <include name="edu/umb/cs680/hw02/Calculator.java"/>
        </javac>
    </target>

    <target name="compile-test" depends="compile">
        <javac srcdir="${test.src}" destdir="${test.bin}" includeAntRuntime="no">
            <classpath refid="classpath"/>
            <include name="edu/umb/cs680/hw02/CalculatorTest.java"/>
        </javac>
    </target>

    <target name="run-test" depends="compile-test">
        <junitlauncher printSummary="true">
            <classpath refid="classpath" />
            <testclasses outputdir="test">
                <fileset dir="${test.bin}">
                    <include name="edu/umb/cs680/hw02/*Test.class"/>
                </fileset>
                <listener type="legacy-plain" sendSysOut="true"/>
            </testclasses>
        </junitlauncher>
    </target>


    <target name="run" depends="run-test">
        <java classname="edu.umb.cs680.hw02.Calculator"
              classpathref="classpath"
              fork="true"/>
    </target>


    <target name="clean" depends="run">
        <delete includeemptydirs="true">
            <fileset dir="${bin}/edu/umb/cs680/hw02" includes="**/*"/>
            <fileset dir="${test.bin}/edu/umb/cs680/hw02" includes="**/*" />
        </delete>
    </target>

</project>

Это ошибка, которую я получаю при запуске скрипт сборки

Файл сборки: /Users/NhatAnh/Documents/Study/UMASS/S20/CS680/CS680-UMB/HW02/build.xml [echo] JUNIT: / Users / NhatAnh / junit [echo] ANT_HOME: /Users/NhatAnh/apache-ant-1.10.7 [echo] / Пользователи / NhatAnh / Документы / Исследование / UMASS / S20 / CS680 / CS680-UMB / HW02 / bin: / Users / NhatAnh / Документы / Исследование / UMASS / S20 / CS680 / CS680-UMB / HW02 / test / bin

init:

compile :

compile-test: [javac] Компиляция 1 исходного файла в / Users / NhatAnh / Документы / Исследование / UMASS / S20 / CS680 / CS680-UMB / HW02 / test / bin [javac] / Users / NhatAnh /Documents/Study/UMASS/S20/CS680/CS680-UMB/HW02/test/src/edu/umb/cs680/hw02/CalculatorTest.java:3: ошибка: пакет org.junit.jupiter.api не существует [javac] import stati c org.junit.jupiter.api.Assertions. *; [javac] ^ [javac] /Users/NhatAnh/Documents/Study/UMASS/S20/CS680/CS680-UMB/HW02/test/src/edu/umb/cs680/hw02/CalculatorTest.java:4: ошибка: пакет org.junit.jupiter.api не существует [javac] import org.junit.jupiter.api.Test; [javac] ^ [javac] /Users/NhatAnh/Documents/Study/UMASS/S20/CS680/CS680-UMB/HW02/test/src/edu/umb/cs680/hw02/CalculatorTest.java:7: ошибка: не удается найти символ [javac] @Test [javac] ^ [javac] символ: класс Test [javac] расположение: класс CalculatorTest [javac] / Пользователи / NhatAnh / Документы / Исследование / UMASS / S20 / CS680 / CS680-UMB / HW02 / test / src / edu / umb / cs680 / hw02 / CalculatorTest. java: 15: ошибка: не удается найти символ [javac] @Test [javac] ^ [javac] символ: класс Test [javac] расположение: класс CalculatorTest [javac ] /Users/NhatAnh/Documents/Study/UMASS/S20/CS680/CS680-UMB/HW02/test/src/edu/umb/cs680/hw02/CalculatorTest.java:23: ошибка: не удается найти символ [javac] @Test [javac] ^ [javac] символ: класс Test [javac] расположение: класс CalculatorTest [javac] / Пользователи / NhatAnh / Документы / Исследование / UMASS / S20 / CS680 / CS680-UMB / HW02 / test / src / edu / umb / cs680 / hw02 / CalculatorTest. java: 12: ошибка: не удается найти символ [javac] assertEquals (фактический, ожидаемый); [javac] ^ [javac] символ: метод assertEquals (float, float) [javac] расположение: класс CalculatorTest [javac] / Пользователи / NhatAnh / Документы / Исследование / UMASS / S20 / CS680 / CS680-UMB / HW02 / test / src /edu/umb/cs680/hw02/CalculatorTest.java:20: ошибка: не удается найти символ [javac] assertEquals (фактический, ожидаемый); [javac] ^ [javac] символ: метод assertEquals (float, float) [javac] расположение: класс CalculatorTest [javac] / Пользователи / NhatAnh / Документы / Исследование / UMASS / S20 / CS680 / CS680-UMB / HW02 / test / src /edu/umb/cs680/hw02/CalculatorTest.java:28: ошибка: не удается найти символ [javac] fail («Деление на ноль»); [javac] ^ [javac] символ: метод с ошибкой (строка) [javac] расположение: класс CalculatorTest [javac] /Users/NhatAnh/Documents/Study/UMASS/S20/CS680/CS680-UMB/HW02/test/src/edu/umb/cs680/hw02/CalculatorTest.java:30: ошибка: не удается найти символ [ javac] assertEquals («деление на ноль», e.getMessage ()); [javac] ^ [javac] символ: метод assertEquals (String, String) [javac] расположение: класс CalculatorTest [javac] 9 ошибок

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