Ant 当Junit抛出一个“a”时,它想告诉我什么;NoTestsRemainException“;

Ant 当Junit抛出一个“a”时,它想告诉我什么;NoTestsRemainException“;,ant,junit,Ant,Junit,我正在尝试运行ApachePOI项目的测试,但出现以下异常。我以前已经看过几次了,但每次我都完全不知道JUnit想告诉我什么 Javadoc只是声明“当一个过滤器从运行程序中删除所有测试时抛出”,但这并不意味着一个Ant过滤器,因为它是在JUnit中抛出的,那么这里哪个过滤器可能正在删除测试呢?如何调试/修复给出此消息的Ant文件 test-main: [junit] java.lang.NoClassDefFoundError: org/junit/runner/manipulation/No

我正在尝试运行ApachePOI项目的测试,但出现以下异常。我以前已经看过几次了,但每次我都完全不知道JUnit想告诉我什么

Javadoc只是声明“当一个过滤器从运行程序中删除所有测试时抛出”,但这并不意味着一个Ant过滤器,因为它是在JUnit中抛出的,那么这里哪个过滤器可能正在删除测试呢?如何调试/修复给出此消息的Ant文件

test-main:
[junit] java.lang.NoClassDefFoundError: org/junit/runner/manipulation/NoTestsRemainException
[junit]     at java.lang.Class.getDeclaredMethods0(Native Method)
[junit]     at java.lang.Class.privateGetDeclaredMethods(Class.java:2451)
[junit]     at java.lang.Class.getMethod0(Class.java:2694)
[junit]     at java.lang.Class.getMethod(Class.java:1622)
[junit]     at sun.launcher.LauncherHelper.getMainMethod(LauncherHelper.java:494)
[junit]     at sun.launcher.LauncherHelper.checkAndLoadMain(LauncherHelper.java:486)
[junit] Caused by: java.lang.ClassNotFoundException: org.junit.runner.manipulation.NoTestsRemainException
[junit]     at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
[junit]     at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
[junit]     at java.security.AccessController.doPrivileged(Native Method)
[junit]     at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
[junit]     at java.lang.ClassLoader.loadClass(ClassLoader.java:423)
[junit]     at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
[junit]     at java.lang.ClassLoader.loadClass(ClassLoader.java:356)
[junit]     ... 6 more
[junit] Exception in thread "main" 
[junit] java.io.FileNotFoundException: C:\workspaces\devtools\source\poi-trunk\junitvmwatcher937297744.properties (The system cannot find the file specified)
[junit]     at java.io.FileInputStream.open(Native Method)
[junit]     at java.io.FileInputStream.<init>(FileInputStream.java:138)
[junit]     at java.io.FileReader.<init>(FileReader.java:72)
[junit]     at org.apache.tools.ant.taskdefs.optional.junit.JUnitTask.executeAsForked(JUnitTask.java:1115)
[junit]     at org.apache.tools.ant.taskdefs.optional.junit.JUnitTask.execute(JUnitTask.java:896)
[junit]     at org.apache.tools.ant.taskdefs.optional.junit.JUnitTask.execute(JUnitTask.java:819)
[junit]     at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:288)
[junit]     at sun.reflect.GeneratedMethodAccessor1.invoke(Unknown Source)
[junit]     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
[junit]     at java.lang.reflect.Method.invoke(Method.java:601)
[junit]     at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106)
[junit]     at org.apache.tools.ant.Task.perform(Task.java:348)
[junit]     at org.apache.tools.ant.Target.execute(Target.java:357)
[junit]     at org.apache.tools.ant.Target.performTasks(Target.java:385)
[junit]     at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1337)
[junit]     at org.apache.tools.ant.Project.executeTarget(Project.java:1306)
[junit]     at org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:41)
[junit]     at org.apache.tools.ant.Project.executeTargets(Project.java:1189)
[junit]     at org.apache.tools.ant.Main.runBuild(Main.java:758)
[junit]     at org.apache.tools.ant.Main.startAnt(Main.java:217)
[junit]     at org.apache.tools.ant.launch.Launcher.run(Launcher.java:257)
[junit]     at org.apache.tools.ant.launch.Launcher.main(Launcher.java:104)
testmain:
[junit]java.lang.NoClassDefFoundError:org/junit/runner/manipulation/notestsreinexception
[junit]位于java.lang.Class.getDeclaredMethods0(本机方法)
[junit]位于java.lang.Class.privateGetDeclaredMethods(Class.java:2451)
[junit]位于java.lang.Class.getMethod0(Class.java:2694)
[junit]位于java.lang.Class.getMethod(Class.java:1622)
[junit]位于sun.launcher.launchelper.getMainMethod(launchelper.java:494)
[junit]位于sun.launcher.LaunchHelper.checkAndLoadMain(LaunchHelper.java:486)
[junit]由以下原因引起:java.lang.ClassNotFoundException:org.junit.runner.manipulation.notestsreinException
[junit]位于java.net.URLClassLoader$1.run(URLClassLoader.java:366)
[junit]位于java.net.URLClassLoader$1.run(URLClassLoader.java:355)
[junit]位于java.security.AccessController.doPrivileged(本机方法)
[junit]位于java.net.URLClassLoader.findClass(URLClassLoader.java:354)
[junit]位于java.lang.ClassLoader.loadClass(ClassLoader.java:423)
[junit]位于sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
[junit]位于java.lang.ClassLoader.loadClass(ClassLoader.java:356)
[junit]。。。还有6个
线程“main”中的[junit]异常
[junit]java.io.FileNotFoundException:C:\workspaces\devtools\source\poi trunk\junitvmwatcher937297744.properties(系统找不到指定的文件)
[junit]位于java.io.FileInputStream.open(本机方法)
[junit]位于java.io.FileInputStream。(FileInputStream.java:138)
[junit]位于java.io.FileReader。(FileReader.java:72)
[junit]位于org.apache.tools.ant.taskdefs.optional.junit.JUnitTask.executeAsForked(JUnitTask.java:1115)
[junit]位于org.apache.tools.ant.taskdefs.optional.junit.JUnitTask.execute(JUnitTask.java:896)
[junit]位于org.apache.tools.ant.taskdefs.optional.junit.JUnitTask.execute(JUnitTask.java:819)
[junit]位于org.apache.tools.ant.UnknowneElement.execute(unknowneElement.java:288)
[junit]位于sun.reflect.GeneratedMethodAccessor1.invoke(未知源)
[junit]位于sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
[junit]位于java.lang.reflect.Method.invoke(Method.java:601)
[junit]位于org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106)
[junit]位于org.apache.tools.ant.Task.perform(Task.java:348)
[junit]位于org.apache.tools.ant.Target.execute(Target.java:357)
[junit]位于org.apache.tools.ant.Target.performTasks(Target.java:385)
[junit]位于org.apache.tools.ant.Project.executeSortedTargets(Project.java:1337)
[junit]位于org.apache.tools.ant.Project.executeTarget(Project.java:1306)
[junit]位于org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:41)
[junit]位于org.apache.tools.ant.Project.executeTargets(Project.java:1189)
[junit]位于org.apache.tools.ant.Main.runBuild(Main.java:758)
[junit]位于org.apache.tools.ant.Main.startAnt(Main.java:217)
[junit]位于org.apache.tools.ant.launch.Launcher.run(Launcher.java:257)
[junit]位于org.apache.tools.ant.launch.Launcher.main(Launcher.java:104)

在深入研究这个问题之后,我发现这是由使用较旧的JUnit运行较新的Ant造成的。在本例中,是Ant1.7.1和1.8.2与JUnit3.8.1的对比。升级到JUnit4.10解决了这个问题