gpt4 book ai didi

java - 如何解决这个 java.lang.NoClassDefFoundError

转载 作者:行者123 更新时间:2023-12-01 11:33:21 25 4
gpt4 key购买 nike

我们正在使用 WindowsTester 运行自动化测试。当我运行我的测试用例之一时,我收到“java.lang.NoClassDefFoundError”错误。请帮我解决这个问题。

堆栈跟踪是:

java.lang.NoClassDefFoundError: org/eclipse/osgi/internal/loader/ModuleClassLoader
at com.windowtester.internal.runtime.bundle.BundleResolver.bundleForClass(BundleResolver.java:21)
at com.windowtester.internal.runtime.bundle.BundleResolver.bundleNameForClass(BundleResolver.java:29)
at com.windowtester.internal.runtime.bundle.BundleClassReference.forBundleClass(BundleClassReference.java:35)
at com.windowtester.internal.runtime.ClassReference.forBundleClass(ClassReference.java:26)
at com.windowtester.runtime.WidgetLocator.<init>(WidgetLocator.java:88)
at com.windowtester.runtime.WidgetLocator.<init>(WidgetLocator.java:108)
at com.windowtester.runtime.WidgetLocator.<init>(WidgetLocator.java:134)
at com.windowtester.runtime.swt.locator.SWTWidgetLocator.<init>(SWTWidgetLocator.java:139)
at com.windowtester.runtime.swt.locator.CTabItemLocator.<init>(CTabItemLocator.java:127)
at com.sample.TestUtilsGUI.closeWelcomePageIfNecessary(TestUtilsGUI.java:216)
at junit.framework.TestCase.runBare(TestCase.java:139)
at com.windowtester.runtime.common.UITestCaseCommon.access$0(UITestCaseCommon.java:1)
at com.windowtester.runtime.common.UITestCaseCommon$2.run(UITestCaseCommon.java:140)
at com.windowtester.runtime.common.UITestCaseCommon$3.run(UITestCaseCommon.java:161)
at com.windowtester.internal.runtime.junit.core.SequenceRunner$1.run(SequenceRunner.java:50)
Caused by: java.lang.ClassNotFoundException: org.eclipse.osgi.internal.loader.ModuleClassLoader cannot be found by com.windowtester.runtime_6.1.0.201310072244
at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:501)
at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:421)
at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:412)
at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.loadClass(DefaultClassLoader.java:107)
at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
... 17 more

最佳答案

ClassLoader 正在为您的测试包加载 windowtester 类。然后,他们尝试使用同一个 ClassLoader 加载 ModuleClassLoader 类。

为了使您的 bundle ClassLoader 可以使用该类,您需要从测试 bundle 到 org.eclipse.osgi bundle 有依赖关系。在测试包的 plugin.xml 中声明这一点。

关于java - 如何解决这个 java.lang.NoClassDefFoundError,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30238117/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com