java.lang.NoClassDefFoundError:junit/framework/TestListener
为RCP应用程序运行自动测试用例时,显示以下错误:java.lang.NoClassDefFoundError:junit/framework/TestListener,junit,ant,eclipse-rcp,hudson,Junit,Ant,Eclipse Rcp,Hudson,为RCP应用程序运行自动测试用例时,显示以下错误: [java] Java Result: 13 堆栈跟踪是: !MESSAGE Application error !STACK 1 java.lang.NoClassDefFoundError: junit/framework/TestListener at java.lang.ClassLoader.defineClass1(Native Method) at java.lang.Cl
[java] Java Result: 13
堆栈跟踪是:
!MESSAGE Application error
!STACK 1
java.lang.NoClassDefFoundError: junit/framework/TestListener
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:763)
at org.eclipse.osgi.internal.loader.ModuleClassLoader.defineClass(ModuleClassLoader.java:272)
at org.eclipse.osgi.internal.loader.classpath.ClasspathManager.defineClass(ClasspathManager.java:632)
at org.eclipse.osgi.internal.loader.classpath.ClasspathManager.findClassImpl(ClasspathManager.java:588)
at org.eclipse.osgi.internal.loader.classpath.ClasspathManager.findLocalClassImpl(ClasspathManager.java:540)
at org.eclipse.osgi.internal.loader.classpath.ClasspathManager.findLocalClass(ClasspathManager.java:527)
at org.eclipse.osgi.internal.loader.ModuleClassLoader.findLocalClass(ModuleClassLoader.java:324)
...
Caused by: java.lang.ClassNotFoundException: junit.framework.TestListener cannot be found by org.apache.ant_1.9.6.v201510161327
at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:439)
at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:352)
at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:344)
at org.eclipse.osgi.internal.loader.ModuleClassLoader.loadClass(ModuleClassLoader.java:160)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
... 53 more
Junit.jar已在类路径中可用
我用于RCP应用程序的Eclipse版本是Eclipse4.5.2(Mars),Junit版本是JUnit4.12.0(org.Junit_4.12.0.v201504281640)。使用的ANT版本是1.9.6(org.apache.ANT_1.9.6.v201510161327)在Eclipse4.5中对一个问题做了一些工作( )
将Eclipse更新到4.6可能会有所帮助。在Eclipse4.5中的一个问题上做了一些工作( )
将Eclipse更新到4.6可能会有所帮助。这可能是答案,也可能不是答案
我的经验是,对于Eclipse4.4.1的PDE构建,我们使用的是
Eclipse-test-framework-3.6
。升级到Eclipse4.6.2时,我将其更改为使用Eclipse-test-framework-4.6.2
(从下载)。这给了我另一个问题,即找不到所需的org.eclipse.test_3.3.0/library.xml
文件,因此我只是将3.6测试框架和4.6.2测试框架添加到用于测试的eclipse平台的dropins文件夹中。我们有两套测试,当运行第二套测试时,它会给出java.lang.ClassNotFoundException:junit.framework.TestListener无法被org.apache.ant_1.9.6.v201510161327
异常。我猜这与插件的添加/解析以及它们的依赖项和配置缓存有关。因此,我更改了我们的ant测试目标,以清除eclipse/p2
和eclipse/configuration
目录,并在运行每个套件之前获取一个新的副本。这肯定是一个彻底的黑客攻击,但似乎有效。这可能是答案,也可能不是答案
我的经验是,对于Eclipse4.4.1的PDE构建,我们使用的是
Eclipse-test-framework-3.6
。升级到Eclipse4.6.2时,我将其更改为使用Eclipse-test-framework-4.6.2
(从下载)。这给了我另一个问题,即找不到所需的org.eclipse.test_3.3.0/library.xml
文件,因此我只是将3.6测试框架和4.6.2测试框架添加到用于测试的eclipse平台的dropins文件夹中。我们有两套测试,当运行第二套测试时,它会给出java.lang.ClassNotFoundException:junit.framework.TestListener无法被org.apache.ant_1.9.6.v201510161327
异常。我猜这与插件的添加/解析以及它们的依赖项和配置缓存有关。因此,我更改了我们的ant测试目标,以清除eclipse/p2
和eclipse/configuration
目录,并在运行每个套件之前获取一个新的副本。这当然是一个彻底的黑客攻击,但似乎有效。请注意,它是用来解决您的问题的。如果他们愿意回答,他们将在空闲时回答。请注意,这是为了处理您的问题。如果他们想回答这个问题,他们会在空闲时回答。没有其他方法不将eclipse更新到4.6吗?我不知道。只是说这可能会解决您的问题,而更新eclipse基本上不是什么大问题。我将eclipse更新为4.6.2,但在从ant运行测试用例时仍然存在相同的错误。没有其他方法不将eclipse更新为4.6吗?我不知道。只是说这可能会解决您的问题,而更新eclipse基本上不是什么大问题。我将eclipse更新为4.6.2,但在从ant运行测试用例时仍然存在相同的错误。