java - AntBuilder 找不到包 org.junit

标签 java eclipse junit

我使用“JUnit 测试用例”新文件对话框将一些单元测试添加到 Eclipse 项目的测试目录(与我的 src 目录平行)中。我有两个构建器,默认的 Java 构建器和我添加的 AntBuilder。 Java Builder 继续工作,但 AntBuilder 在 Eclipse 中失败。当我选择“项目”->“构建全部”时,它会显示以下内容:

Buildfile: C:\source\machine-paint\eclipse\machine-paint\src\build.xml

clean:
      [delete] Deleting directory C:\source\machine-paint\eclipse\machine-paint\build

compile:
       [mkdir] Created dir: C:\source\machine-paint\eclipse\machine-paint\build\classes
       [javac] Compiling 33 source files to C:\source\machine-paint\eclipse\machine-paint\build\classes
       [javac] C:\source\machine-paint\eclipse\machine-paint\test\stencil\BorderWalkerTest.java:3: error: package org.junit does not exist
       [javac] import static org.junit.Assert.*;
       [javac]                        ^

然后在出现一些类似的错误之后,这是:

 [javac] C:\source\machine-paint\eclipse\machine-paint\test\stencil\BorderWalkerTest.java:8: error: incompatible types
       [javac]  @Test
       [javac]   ^
       [javac]   required: Annotation
       [javac]   found:    Test

这是我的构建文件。此时我真的是在摸索,比如将该类路径标记添加到 javac 命令中。

<?xml version="1.0" encoding="UTF-8"?>
<project name="Builder" default="jar" basedir=".">
  <target name="clean">
    <delete dir="build"/>
  </target>

  <target name="compile" depends="clean">
    <mkdir dir="build/classes" />
    <javac srcdir="." destdir="build/classes" debug="true" includeantruntime="true">
      <classpath>
        <path id="org.junit" location="c:/eclipse/plugins/org.apache.ant_1.8.3.v20120321-1730/lib/junit.jar" />
      </classpath>
    </javac>
  </target>

  <target name="jar" depends="compile">
    <jar destfile="../../stencil.jar" basedir="build/classes">
      <manifest>
        <attribute name="Main-Class" value="stencil.Main" />
      </manifest>
    </jar>
    <copy file="../../stencil.jar" tofile="../../../robotsdoart/stencils/stencil.jar" />
  </target>

  <target name="run">
    <java jar="build/jar/stencil.jar" fork="true" />
  </target>
</project>

最佳答案

尝试将 srcdir 更改为您的实际源目录,这样它就不会包含测试。

类似于:

<javac srcdir="src/" destdir="build/classes" debug="true" includeantruntime="true">
  <classpath>
    <path id="org.junit" location="c:/eclipse/plugins/org.apache.ant_1.8.3.v20120321-1730/lib/junit.jar" /> <!-- not sure if you need this -->
  </classpath>
</javac>

关于java - AntBuilder 找不到包 org.junit,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12848688/

相关文章:

java - 代码覆盖率未达到类声明

java - Spring Security Rest DigestEntryPoint 的 key 和领域

java - 如何从servlet获取 "jboss server binding address"

java - XPath选择器Selenium WebDriver,无法使用ID

Java( eclipse ): How to call a int or string from another class in same project?

eclipse - 在子剪辑 : How do I connect an existing workspace with an existing repository

java - JUnit4 使用测试套件运行特定包中的所有测试

java - 如何使用 @Resource WebServiceContext 注入(inject) Spring 的 @Transactional

eclipse - 将我的 Eclipse CVS 分支与 Head 同步

java - 使用多个测试目录 Java/Maven