EclipseFP根本不工作

时间:2015-04-17 03:08:14

标签: eclipse haskell eclipse-plugin

我最近使用说明here在我的计算机上安装了Haskell和EclipseFP。我得到了安装插件。

不幸的是,插件似乎有一个内部问题,并在启动Eclipse时输出以下错误(如“错误日志”中所示)。

eclipse.buildId=4.4.0.I20140606-1215
java.version=1.8.0_20
java.vendor=Oracle Corporation
BootLoader constants: OS=win32, ARCH=x86_64, WS=win32, NL=en_US
Framework arguments:  -product org.eclipse.epp.package.standard.product -product org.eclipse.epp.package.standard.product
Command-line arguments:  -os win32 -ws win32 -arch x86_64 -product org.eclipse.epp.package.standard.product -data <PATH TO WORKSPACE> -product org.eclipse.epp.package.standard.product

org.eclipse.equinox.registry
Error
Thu Apr 16 19:37:20 PDT 2015
Plug-in net.sf.eclipsefp.haskell.ui was unable to load class net.sf.eclipsefp.haskell.ui.decorators.ProblemsLabelDecorator.

java.lang.ClassNotFoundException: An error occurred while automatically activating bundle net.sf.eclipsefp.haskell.ui (339).
    at org.eclipse.osgi.internal.hooks.EclipseLazyStarter.postFindLocalClass(EclipseLazyStarter.java:116)
    at org.eclipse.osgi.internal.loader.classpath.ClasspathManager.findLocalClass(ClasspathManager.java:531)
    at org.eclipse.osgi.internal.loader.ModuleClassLoader.findLocalClass(ModuleClassLoader.java:324)
    at org.eclipse.osgi.internal.loader.BundleLoader.findLocalClass(BundleLoader.java:311)
    at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:386)
    at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:336)
    at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:328)
    at org.eclipse.osgi.internal.loader.ModuleClassLoader.loadClass(ModuleClassLoader.java:160)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    at org.eclipse.osgi.internal.framework.EquinoxBundle.loadClass(EquinoxBundle.java:568)
    at org.eclipse.core.internal.registry.osgi.RegistryStrategyOSGI.createExecutableExtension(RegistryStrategyOSGI.java:174)
    at org.eclipse.core.internal.registry.ExtensionRegistry.createExecutableExtension(ExtensionRegistry.java:905)
    at org.eclipse.core.internal.registry.ConfigurationElement.createExecutableExtension(ConfigurationElement.java:243)
    at org.eclipse.core.internal.registry.ConfigurationElementHandle.createExecutableExtension(ConfigurationElementHandle.java:55)
    at org.eclipse.ui.internal.WorkbenchPlugin$1.run(WorkbenchPlugin.java:294)
    at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:52)
    at org.eclipse.ui.internal.WorkbenchPlugin.createExtension(WorkbenchPlugin.java:289)
    at org.eclipse.ui.internal.decorators.LightweightDecoratorDefinition$1.run(LightweightDecoratorDefinition.java:125)
    at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
    at org.eclipse.core.runtime.Platform.run(Platform.java:867)
    at org.eclipse.ui.internal.decorators.LightweightDecoratorDefinition.internalGetDecorator(LightweightDecoratorDefinition.java:120)
    at org.eclipse.ui.internal.decorators.LightweightDecoratorDefinition.decorate(LightweightDecoratorDefinition.java:255)
    at org.eclipse.ui.internal.decorators.LightweightDecoratorManager$LightweightRunnable.run(LightweightDecoratorManager.java:83)
    at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
    at org.eclipse.ui.internal.decorators.LightweightDecoratorManager.decorate(LightweightDecoratorManager.java:367)
    at org.eclipse.ui.internal.decorators.LightweightDecoratorManager.getDecorations(LightweightDecoratorManager.java:349)
    at org.eclipse.ui.internal.decorators.DecorationScheduler$1.ensureResultCached(DecorationScheduler.java:372)
    at org.eclipse.ui.internal.decorators.DecorationScheduler$1.run(DecorationScheduler.java:332)
    at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54)
Caused by: org.osgi.framework.BundleException: Exception in net.sf.eclipsefp.haskell.ui.HaskellUIPlugin.start() of bundle net.sf.eclipsefp.haskell.ui.
    at org.eclipse.osgi.internal.framework.BundleContextImpl.startActivator(BundleContextImpl.java:792)
    at org.eclipse.osgi.internal.framework.BundleContextImpl.start(BundleContextImpl.java:721)
    at org.eclipse.osgi.internal.framework.EquinoxBundle.startWorker0(EquinoxBundle.java:936)
    at org.eclipse.osgi.internal.framework.EquinoxBundle$EquinoxModule.startWorker(EquinoxBundle.java:319)
    at org.eclipse.osgi.container.Module.doStart(Module.java:571)
    at org.eclipse.osgi.container.Module.start(Module.java:439)
    at org.eclipse.osgi.framework.util.SecureAction.start(SecureAction.java:454)
    at org.eclipse.osgi.internal.hooks.EclipseLazyStarter.postFindLocalClass(EclipseLazyStarter.java:107)
    ... 28 more
Caused by: java.lang.NullPointerException
    at net.sf.eclipsefp.haskell.ui.internal.backend.BackendManager.getToolSandbox(BackendManager.java:1108)
    at net.sf.eclipsefp.haskell.ui.internal.backend.BackendManager.getToolSandboxBin(BackendManager.java:1124)
    at net.sf.eclipsefp.haskell.ui.internal.backend.BackendManager.getExecutablePath(BackendManager.java:128)
    at net.sf.eclipsefp.haskell.ui.internal.backend.BackendManager.start(BackendManager.java:175)
    at net.sf.eclipsefp.haskell.ui.HaskellUIPlugin.start(HaskellUIPlugin.java:106)
    at org.eclipse.osgi.internal.framework.BundleContextImpl$3.run(BundleContextImpl.java:771)
    at org.eclipse.osgi.internal.framework.BundleContextImpl$3.run(BundleContextImpl.java:1)
    at java.security.AccessController.doPrivileged(Native Method)
    at org.eclipse.osgi.internal.framework.BundleContextImpl.startActivator(BundleContextImpl.java:764)
    ... 35 more

我有什么办法可以解决这个问题吗?或者只是兼容性问题。

1 个答案:

答案 0 :(得分:1)

打开一个shell并编写cabal --help并查看它是否显示了一些命令。否则请下载Haskell Platform。如果您在Windows中,请确保始终以管理员身份打开您的eclipse:

  1. 右键单击Eclipse链接
  2. 转到兼容性标签,并标记始终以管理员身份运行
  3. 打开Eclipse并转到New/Other/Haskel/并选择您想要的项目。