感谢详细的Ant输出。
看来您正在Bamboo服务器上运行Ant 1.9.0。Ant错误跟踪器中存在一个已知问题(bug 54835-在junit
ant任务中使用Classpath似乎被破坏了吗?),该问题由关于SO的类似问题的发布者启动:“
Ant,Ivy和JUnit未找到类 ”
-build.xml错误? ”:
BUILD FAILED/home/andrew/project/guice/hg/build.xml:33: java.lang.NoClassDefFoundError: junit/framework/TestListener at java.lang.ClassLoader.defineClass1(Native Method) at java.lang.ClassLoader.defineClass(ClassLoader.java:791)... at org.apache.tools.ant.launch.Launcher.run(Launcher.java:280) at org.apache.tools.ant.launch.Launcher.main(Launcher.java:109)Caused by: java.lang.ClassNotFoundException: junit.framework.TestListener at java.net.URLClassLoader$1.run(URLClassLoader.java:366) at java.net.URLClassLoader$1.run(URLClassLoader.java:355)...
该问题没有明确/简短的答案,但错误报告包含:
看起来类搜索是委派给系统的类加载器,而不是由Ant类加载器处理(系统类加载器不具有JUnit知识,因为JUnit不在核心Ant类路径上,而是由Ivy添加到JUnit任务中)。鉴于必须已经加载了一些JUnit类才能达到这一点,Ant
Classloader可以看到由Ivy加载的JUnit jar,但是在尝试加载JUnit Runner使用的类时,Split
Classloader似乎是委派了错误。
换句话说:Ant的JUnit任务有错误,将无法正常工作,我想您会受到此特定错误的影响。错误报告将继续,并列出以下修复程序/解决方法:
- 等待Ant 1.9.1(错误报告被标记为已修复,预计很快就会发布)
- 将您的JUnit JAR复制到
ANTLIB
目录中,并继续使用Ant 1.9.0。如果要混合使用JUnit版本,效果不是很好,但是如果您使用的都是4.10左右,它应该可以工作。 - 使用Ant 1.8.4



