2015-04-17 18 views
7

Ho installato di recente Haskell ed EclipseFP sul mio computer, utilizzando le istruzioni here. Sono arrivato a installare il plugin.EclipseFP non funziona affatto

Sfortunatamente, il plug-in sembra avere un problema interno e sta emettendo il seguente errore quando avvio Eclipse (come visto in "Registro errori").

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 

C'è qualcosa che dovrei fare per risolvere questo problema? O è solo un problema di compatibilità.

+2

[Questo] (https://github.com/JPMoresmau/eclipsefp/issues/269) dice è necessario installare Cabal –

+1

@ greg-449 Se si attiva che in una risposta, io ti darò la accettare. La tua risposta mi ha fatto superare il problema "non funziona affatto", ma sarebbe bello se includessi anche il fatto che l'esecuzione come amministratore (su Windows) sembra averlo completamente funzionale. –

+0

Sembra che sarebbe meglio se tu scrivessi una risposta personale. In realtà non ne so molto! –

risposta

1

Aprire una shell e scrivere cabal --help e vedere se mostra alcuni comandi. Altro scarica il Haskell Platform. Se si è in Windows assicurarsi che si apre sempre il vostro Eclipse come amministratore:

  1. fare clic destro del mouse sul link per Eclipse
  2. Vai alla scheda Compatibilità e segnare qualcosa come Esegui sempre come amministratore
  3. Apri Eclipse e vai su New/Other/Haskel/ e scegli il tipo di progetto desiderato.
+2

Quando 'EclipseFP' è installato prima delle impostazioni per eseguire' Eclipse' come amministratore, il plugin viene disabilitato e le opzioni per la creazione di un nuovo progetto 'Haskell' scompaiono. Reinstallare 'EclipseFP' se ci si imbatte in ... – Dadani

+0

Nel caso si utilizzi MacPorts: EclipseFP non riesce a trovare' cabal' perché è installato in '/ opt/local/bin'. La mia soluzione era eseguire Eclipse dalla shell piuttosto che dal launcher dell'interfaccia utente, ad es. ''/ Applicazioni/Eclipse Mars.app/Contents/MacOS/eclipse''. Ricorda che quando lanci un'applicazione da Finder i tuoi '.bashrc' ecc. Non vengono eseguiti. –

+0

Certo, puoi staccarlo dalla console e sarà praticamente la stessa esperienza. – EliuX

Problemi correlati