编译JS-Test-Driver插件并在Eclipse 3.5.1 Galileo上安装它?

时间:2010-02-05 15:05:29

标签: eclipse eclipse-plugin eclipse-3.5 js-test-driver

我从http://js-test-driver.googlecode.com/svn/tags/1.2

下载了js-test-driver的源代码

它编译得很好,但其中一个单元测试失败了:

[junit] Tests run: 1, Failures: 1, Errors: 0, Time elapsed: 0.012 sec
[junit] Test com.google.jstestdriver.eclipse.ui.views.FailureOnlyViewerFilterTest FAILED

我正在使用: - ANT 1.7.1 - javac 1.6.0_12

我正在尝试在Eclipse 3.5.1 Galileo上安装js-test-driver插件

尽管测试失败,我通过复制(从svn导出)已编译的功能和插件目录,将插件安装到我的C:\ eclipse \ dropins \ _js-test-driver目录中,看它是否会产生任何提示问题是什么。

当我开始使用eclipse时,使用Window-> Show View-> Other ... Other-> JsTestDriver

将插件添加到面板中

添加了面板插件,但它显示以下错误而不是面板中的插件:

  

无法创建视图:插件com.google.jstestdriver.eclipse.ui无法加载com.google.jstestdriver.eclipse.ui.views.JsTestDriverView类。

然后吼一下,点击详细信息后,我得到以下堆栈跟踪:

java.lang.ClassNotFoundException: com.google.jstestdriver.eclipse.ui.views.JsTestDriverView
    at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:494)
    at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:410)
    at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:398)
    at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.loadClass(DefaultClassLoader.java:105)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    at org.eclipse.osgi.internal.loader.BundleLoader.loadClass(BundleLoader.java:326)
    at org.eclipse.osgi.framework.internal.core.BundleHost.loadClass(BundleHost.java:231)
    at org.eclipse.osgi.framework.internal.core.AbstractBundle.loadClass(AbstractBundle.java:1193)
    at org.eclipse.core.internal.registry.osgi.RegistryStrategyOSGI.createExecutableExtension(RegistryStrategyOSGI.java:160)
    at org.eclipse.core.internal.registry.ExtensionRegistry.createExecutableExtension(ExtensionRegistry.java:874)
    at org.eclipse.core.internal.registry.ConfigurationElement.createExecutableExtension(ConfigurationElement.java:243)
    at org.eclipse.core.internal.registry.ConfigurationElementHandle.createExecutableExtension(ConfigurationElementHandle.java:51)
    at org.eclipse.ui.internal.WorkbenchPlugin$1.run(WorkbenchPlugin.java:267)
    at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:70)
    at org.eclipse.ui.internal.WorkbenchPlugin.createExtension(WorkbenchPlugin.java:263)
    at org.eclipse.ui.internal.registry.ViewDescriptor.createView(ViewDescriptor.java:63)
    at org.eclipse.ui.internal.ViewReference.createPartHelper(ViewReference.java:324)
    at org.eclipse.ui.internal.ViewReference.createPart(ViewReference.java:226)
    at org.eclipse.ui.internal.WorkbenchPartReference.getPart(WorkbenchPartReference.java:595)
    at org.eclipse.ui.internal.Perspective.showView(Perspective.java:2229)
    at org.eclipse.ui.internal.WorkbenchPage.busyShowView(WorkbenchPage.java:1067)
    at org.eclipse.ui.internal.WorkbenchPage$20.run(WorkbenchPage.java:3816)
    at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:70)
    at org.eclipse.ui.internal.WorkbenchPage.showView(WorkbenchPage.java:3813)
    at org.eclipse.ui.internal.WorkbenchPage.showView(WorkbenchPage.java:3789)
    at org.eclipse.ui.handlers.ShowViewHandler.openView(ShowViewHandler.java:165)
    at org.eclipse.ui.handlers.ShowViewHandler.openOther(ShowViewHandler.java:109)
    at org.eclipse.ui.handlers.ShowViewHandler.execute(ShowViewHandler.java:77)
    at org.eclipse.ui.internal.handlers.HandlerProxy.execute(HandlerProxy.java:294)
    at org.eclipse.core.commands.Command.executeWithChecks(Command.java:476)
    at org.eclipse.core.commands.ParameterizedCommand.executeWithChecks(ParameterizedCommand.java:508)
    at org.eclipse.ui.internal.handlers.HandlerService.executeCommand(HandlerService.java:169)
    at org.eclipse.ui.internal.handlers.SlaveHandlerService.executeCommand(SlaveHandlerService.java:241)
    at org.eclipse.ui.internal.ShowViewMenu$3.run(ShowViewMenu.java:141)
    at org.eclipse.jface.action.Action.runWithEvent(Action.java:498)
    at org.eclipse.jface.action.ActionContributionItem.handleWidgetSelection(ActionContributionItem.java:584)
    at org.eclipse.jface.action.ActionContributionItem.access$2(ActionContributionItem.java:501)
    at org.eclipse.jface.action.ActionContributionItem$5.handleEvent(ActionContributionItem.java:411)
    at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
    at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1003)
    at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3880)
    at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3473)
    at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2405)
    at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2369)
    at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2221)
    at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:500)
    at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
    at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:493)
    at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)
    at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:113)
    at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:194)
    at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110)
    at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79)
    at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:368)
    at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:559)
    at org.eclipse.equinox.launcher.Main.basicRun(Main.java:514)
    at org.eclipse.equinox.launcher.Main.run(Main.java:1311)

此外,如果我转到Window-> Preferences中的设置并尝试查看JS Test Driver Preferences,我会得到以下对话框:

  

发生问题   无法创建所选的首选项页面。   com.google.jstestdriver.eclipse.ui.WorkbenchPreferencePage

谢谢你,     Andrew J. Leer

2 个答案:

答案 0 :(得分:1)

我对此问题的解决方法是基于对http://code.google.com/p/js-test-driver/wiki/UsingTheEclipsePlugin的评论:

安装Eclipse插件时,如果软件列表中包含“没有分类项目”的项目,请取消选中下面的“按类别分组项目”复选框。

这解决了我在显示或尝试配置插件选项卡时初始安装后遇到的上述错误。

答案 1 :(得分:0)

此错误消息显示,类加载器尚未找到com.google.jstestdriver.eclipse.ui.views.JsTestDriverView类。可能的解决方案:

  • 琐碎:编译解决方案中是否有正确命名的类文件?
  • 如果有正确的类文件,请查看该View代码的来源,并查看它正在尝试加载的内容。
  • 检查依赖项,如果不满意的依赖项(未正确记录),类加载器可能找不到某些类。
  • 在项目中查找激活器类,并检查它们在做什么。他们也可能会引入这样的问题。