Java 运行ant build可以提供;包org.junit不存在;

Java 运行ant build可以提供;包org.junit不存在;,java,ant,junit,Java,Ant,Junit,当我使用Java IDE构建具有JUnit测试的项目(例如NetBeans)时,它们可以很好地编译,但是当我尝试在IDE之外使用ant来运行构建脚本时,我得到了错误“package org.JUnit不存在”。问题是,在IDE中,它正确地设置了类路径以包含JUnit的.jar。在IDE之外运行ant时,类路径不同,因此会出现错误。修复方法是将JUnit.jar放在文件夹“C:\Program Files\Java\jre6\lib\ext”中,这样它总是在任何IDE之外找到。您应该将JUnit.

当我使用Java IDE构建具有JUnit测试的项目(例如NetBeans)时,它们可以很好地编译,但是当我尝试在IDE之外使用ant来运行构建脚本时,我得到了错误“package org.JUnit不存在”。

问题是,在IDE中,它正确地设置了类路径以包含JUnit的.jar。在IDE之外运行ant时,类路径不同,因此会出现错误。修复方法是将JUnit.jar放在文件夹“C:\Program Files\Java\jre6\lib\ext”中,这样它总是在任何IDE之外找到。

您应该将JUnit.jar添加到ant文件的类路径定义中

有很多方法可以做到这一点,例如:

<junit printsummary="yes" haltonfailure="yes">
    <classpath>
        <path refid="your.classpath.refid" />
        <fileset dir="${junit.dir}">
            <include name="**/junit.jar" />
        </fileset>
    </classpath>
    ...
</junit>

...
有关设置类路径的详细信息,请参阅。

请稍后在此回答


将junit.jar文件复制到${ANT_HOME}/lib文件夹。

为什么NetBeans使用ANT运行junit测试很好,但是当我在IDE之外运行相同的ANT构建脚本时,却找不到junit?大多数IDE,如NetBeans和Eclipse,会自动将junit.jar包含在类路径中,作为IDE内支持单元测试的功能的一部分。即使使用IDE运行ant构建,IDE也已经设置了类路径环境,因此ant能够找到您的junit.jar。