首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Ant-JUnit错误: Ant希望在其类路径中包含JUnit .jar

Ant-JUnit错误: Ant希望在其类路径中包含JUnit .jar
EN

Stack Overflow用户
提问于 2011-01-27 04:29:55
回答 6查看 21.8K关注 0票数 9

我对JUnit和Ant还是个新手。我想知道这个错误是什么意思:

代码语言:javascript
复制
The <classpath> for <junit> must include junit.jar if not in Ant's own classpath

我正在编译一个Java项目,我不能超越这一点。

EN

回答 6

Stack Overflow用户

发布于 2011-01-27 20:55:05

Junit ant任务的文档提供了如何将junit.jar放到类路径上的选项列表:

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

为了节省查找时间,下面重现了这些选项。我更喜欢选项1。

  1. 将junit.jar和ANT-juit.jar都放在ANT_HOME/lib.
  2. Do中,而不是放在ANT_HOME/lib中,而是将它们的位置包括在您的CLASSPATH环境变量中。
  3. 使用-lib将这两个JAR添加到您的类路径中。
  4. 使用构建文件中的元素指定这两个JAR的位置。
  5. 将ant-junit.jar保留在ANT_HOME/lib中的默认位置,但在传递到时包括junit.jar。(从Ant1.7开始)
票数 11
EN

Stack Overflow用户

发布于 2013-01-26 01:24:32

代码语言:javascript
复制
<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>
票数 5
EN

Stack Overflow用户

发布于 2015-01-04 08:28:10

今天我花了几个小时来解决这个问题。我已经在Eclipse中通过Project|Properties|Java Build Path指定了所有的.jar文件,但是仍然得到了

代码语言:javascript
复制
 <classpath> for <junit> must include junit.jar if not in Ant's own classpath

从Eclipse运行Ant时出错。

从命令行运行Ant可以很好地工作(我将所有内容都放在了类路径环境变量中)。

但在Eclipse中,唯一有效的方法是显式地声明元素中的类路径,例如:

代码语言:javascript
复制
    <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元素中显式指定类路径,它每次都会在eclipse中中断,即使只是一个空的

代码语言:javascript
复制
 <junit/> 

参考文献

我不是专家,只是报告今天的工作。

-ctb

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4809695

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档