[英]error: package org.junit does not exist
I keep getting these errors when i am trying to run my ant file. 当我尝试运行我的ant文件时,我不断收到这些错误。
[javac] Compiling 8 source files to C:\\Users\\FaradaysCage\\git\\mancala\\build [javac] C:\\Users\\FaradaysCage\\git\\mancala\\src\\tests\\BoardDataTest.java:1: error: package org.junit does not exist [javac] import static org.junit.Assert.assertEquals; [javac] ^ [javac] C:\\Users\\FaradaysCage\\git\\mancala\\src\\tests\\BoardDataTest.java:1: error: static import only from classes and interfaces [javac] import static org.junit.Assert.assertEquals; [javac] ^ [javac] C:\\Users\\FaradaysCage\\git\\mancala\\src\\tests\\BoardDataTest.java:2: error: package org.junit does not exist [javac] import org.junit.Test; [javac] ^ [javac] C:\\Users\\FaradaysCage\\git\\mancala\\src\\tests\\BoardDataTest.java:8: error: cannot find symbol [javac] @Test
This is my ant build file 这是我的蚂蚁构建文件
<project name="Mancala" default="fullBuild" basedir=".">
<description>
Build file for Mancala program. Currently handles compilation
and distribution. Will also include automated testing and
generation of documentation.
</description>
<!-- set global properties for this build -->
<property name="src" location="src" />
<property name="build" location="build" />
<property name="build.test" location="build/tests" />
<property name="dist" location="dist" />
<property name="test" location="src/tests" />
<property name="docs" location="docs" />
<property name="test.report" location="testreport" />
<!-- Define the classpath which includes the junit.jar-->
<!-- and the classes after compiling-->
<path id="junit.class.path">
<pathelement location="lib/junit-4.11.jar" />
<pathelement location="lib/hamcrest-core-1.3.jar" />
<pathelement location="${build}" />
</path>
<target name="init">
<!-- Create the time stamp -->
<tstamp />
<!-- Create the build directory structure used by compile -->
<mkdir dir="${build}" />
<!-- Create the testreport directory used by Junit -->
<mkdir dir="${test.report}" />
<!-- Create the build.test directory used by compile & Junit -->
<mkdir dir="${build.test}" />
</target>
<target name="compile" depends="init" description="compile the source">
<!-- Compile the java code from ${src} into ${build} -->
<javac srcdir="${src}" destdir="${build}" />
<javac srcdir="${test}" destdir="${build.test}" />
</target>
<!-- Run the JUnit Tests -->
<!-- Output is XML, could also be plain-->
<target name="junit" depends="compile">
<junit printsummary="on" fork="true" haltonfailure="yes">
<classpath>
<classpath refid="junit.class.path" />
<pathelement location="${build.test}" />
<formatter type="plain" />
<batchtest todir="${test.report}">
<fileset dir="${test}">
<include name="**/*Test*.java" />
</fileset>
</batchtest>
</classpath>
</junit>
</target>
<target name="doc" description="generate documentation">
<mkdir dir="${docs}" />
<javadoc sourcepath="${src}" destdir="${docs}">
<fileset dir="${src}" />
</javadoc>
</target>
<target name="dist" depends="compile" description="generate the distribution">
<!-- Create the distribution directory -->
<mkdir dir="${dist}/lib" />
<!-- Put everything in ${build} into the Mancala-${DSTAMP}.jar file -->
<jar jarfile="${dist}/lib/Mancala-${DSTAMP}.jar" basedir="${build}" />
</target>
<!-- Runs the compiled application -->
<target name="run" depends="compile">
<java classname="MancalaApp">
<classpath>
<pathelement location="${build}" />
</classpath>
</java>
</target>
<!--Add unit tests to build once implemented-->
<target name="fullBuild" depends="dist, doc, junit" description="create application, docs, and tests">
</target>
<target name="clean" description="clean up">
<!-- Delete the ${build} and ${dist} directory trees -->
<delete dir="${build}" />
<delete dir="${dist}" />
<delete dir="${docs}" />
<delete dir="${build.test}" />
<delete dir="${test.report}" />
</target>
</project>
I know that somehow I am not including junit.jar into my build, but it should be being included because of in my path id, and I am at my wits end about what is wrong. 我知道我不以某种方式不将junit.jar包含到我的构建中,但是应该将其包含在内,因为它包含在我的路径ID中,并且我不知所措地想出什么地方出了问题。
Thank you in advance 先感谢您
The <javac>
task that creates the tests needs a classpath: 创建测试的
<javac>
任务需要一个类路径:
<javac srcdir="${test}" destdir="${build.test}" classpathref="junit.class.path" />
By the way, the following doesn't look right: 顺便说一句,以下内容看起来不正确:
<junit printsummary="on" fork="true" haltonfailure="yes">
<classpath>
<classpath refid="junit.class.path" />
<pathelement location="${build.test}" />
<formatter type="plain" />
<batchtest todir="${test.report}">
<fileset dir="${test}">
<include name="**/*Test*.java" />
</fileset>
</batchtest>
</classpath>
</junit>
The <formatter>
and <batchtest>
elements shouldn't be nested under a <classpath>
. <formatter>
和<batchtest>
元素不应嵌套在<classpath>
。 They should be directly under <junit>
. 它们应直接位于
<junit>
。 It should be more like: 应该更像是:
<junit printsummary="on" fork="true" haltonfailure="yes">
<classpath>
<classpath refid="junit.class.path" />
<pathelement location="${build.test}" />
</classpath>
<formatter type="plain" />
<batchtest todir="${test.report}">
<fileset dir="${test}">
<include name="**/*Test*.java" />
</fileset>
</batchtest>
</junit>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.