Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Problems opening php files in Eclipse

I've just set up PDT in eclipse (Galileo), but get the error below when opening any .php file.

Does anyone know how I can fix this?

Thanks in advance

TAO.

PHP FILE:

<?php
echo "test"
?>

ERROR:

Could not open the editor: Editor could not be initialized.

Details:

java.lang.AbstractMethodError: org.eclipse.php.internal.core.compiler.ast.parser.PHPSourceParserFactory.parse(Lorg/eclipse/dltk/compiler/env/IModuleSource;Lorg/eclipse/dltk/compiler/problem/IProblemReporter;)Lorg/eclipse/dltk/ast/parser/IModuleDeclaration;
    at org.eclipse.dltk.core.SourceParserUtil.parse(SourceParserUtil.java:137)
    at org.eclipse.dltk.core.SourceParserUtil.getModuleDeclaration(SourceParserUtil.java:197)
    at org.eclipse.dltk.core.SourceParserUtil.getModuleDeclaration(SourceParserUtil.java:183)
    at org.eclipse.dltk.core.SourceParserUtil.getModuleDeclaration(SourceParserUtil.java:174)
    at org.eclipse.dltk.core.AbstractSourceElementParser.parse(AbstractSourceElementParser.java:42)
    at org.eclipse.dltk.core.AbstractSourceElementParser.parseSourceModule(AbstractSourceElementParser.java:26)
    at org.eclipse.dltk.internal.core.AbstractSourceModule.buildStructure(AbstractSourceModule.java:507)
    at org.eclipse.dltk.internal.core.Openable.generateInfos(Openable.java:185)
    at org.eclipse.dltk.internal.core.ModelElement.openWhenClosed(ModelElement.java:182)
    at org.eclipse.dltk.internal.core.BecomeWorkingCopyOperation.executeOperation(BecomeWorkingCopyOperation.java:45)
    at org.eclipse.dltk.internal.core.ModelOperation.run(ModelOperation.java:698)
    at org.eclipse.dltk.internal.core.ModelOperation.runOperation(ModelOperation.java:764)
    at org.eclipse.dltk.internal.core.SourceModule.becomeWorkingCopy(SourceModule.java:68)
    at org.eclipse.dltk.internal.ui.editor.SourceModuleDocumentProvider.createFileInfo(SourceModuleDocumentProvider.java:1251)
    at org.eclipse.ui.editors.text.TextFileDocumentProvider.connect(TextFileDocumentProvider.java:478)
    at org.eclipse.dltk.internal.ui.editor.SourceModuleDocumentProvider.connect(SourceModuleDocumentProvider.java:1484)
    at org.eclipse.ui.texteditor.AbstractTextEditor.doSetInput(AbstractTextEditor.java:4134)
    at org.eclipse.ui.texteditor.StatusTextEditor.doSetInput(StatusTextEditor.java:203)
    at org.eclipse.ui.texteditor.AbstractDecoratedTextEditor.doSetInput(AbstractDecoratedTextEditor.java:1413)
    at org.eclipse.ui.editors.text.TextEditor.doSetInput(TextEditor.java:166)
    at org.eclipse.wst.sse.ui.StructuredTextEditor.doSetInput(StructuredTextEditor.java:1712)
    at org.eclipse.php.internal.ui.editor.PHPStructuredEditor.doSetInput(PHPStructuredEditor.java:2208)
    at org.eclipse.ui.texteditor.AbstractTextEditor$19.run(AbstractTextEditor.java:3115)
    at org.eclipse.jface.operation.ModalContext.runInCurrentThread(ModalContext.java:464)
    at org.eclipse.jface.operation.ModalContext.run(ModalContext.java:372)
    at org.eclipse.jface.window.ApplicationWindow$1.run(ApplicationWindow.java:759)
    at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:70)
    at org.eclipse.jface.window.ApplicationWindow.run(ApplicationWindow.java:756)
    at org.eclipse.ui.internal.WorkbenchWindow.run(WorkbenchWindow.java:2579)
    at org.eclipse.ui.texteditor.AbstractTextEditor.internalInit(AbstractTextEditor.java:3133)
    at org.eclipse.ui.texteditor.AbstractTextEditor.init(AbstractTextEditor.java:3160)
    at org.eclipse.wst.sse.ui.StructuredTextEditor.init(StructuredTextEditor.java:2321)
    at org.eclipse.php.internal.ui.editor.PHPStructuredEditor.init(PHPStructuredEditor.java:1151)
    at org.eclipse.ui.internal.EditorManager.createSite(EditorManager.java:798)
    at org.eclipse.ui.internal.EditorReference.createPartHelper(EditorReference.java:644)
    at org.eclipse.ui.internal.EditorReference.createPart(EditorReference.java:462)
    at org.eclipse.ui.internal.WorkbenchPartReference.getPart(WorkbenchPartReference.java:595)
    at org.eclipse.ui.internal.PartPane.setVisible(PartPane.java:313)
    at org.eclipse.ui.internal.presentations.PresentablePart.setVisible(PresentablePart.java:180)
    at org.eclipse.ui.internal.presentations.util.PresentablePartFolder.select(PresentablePartFolder.java:270)
    at org.eclipse.ui.internal.presentations.util.LeftToRightTabOrder.select(LeftToRightTabOrder.java:65)
    at org.eclipse.ui.internal.presentations.util.TabbedStackPresentation.selectPart(TabbedStackPresentation.java:473)
    at org.eclipse.ui.internal.PartStack.refreshPresentationSelection(PartStack.java:1256)
    at org.eclipse.ui.internal.PartStack.setSelection(PartStack.java:1209)
    at org.eclipse.ui.internal.PartStack.showPart(PartStack.java:1608)
    at org.eclipse.ui.internal.PartStack.add(PartStack.java:499)
    at org.eclipse.ui.internal.EditorStack.add(EditorStack.java:103)
    at org.eclipse.ui.internal.PartStack.add(PartStack.java:485)
    at org.eclipse.ui.internal.EditorStack.add(EditorStack.java:112)
    at org.eclipse.ui.internal.EditorSashContainer.addEditor(EditorSashContainer.java:63)
    at org.eclipse.ui.internal.EditorAreaHelper.addToLayout(EditorAreaHelper.java:225)
    at org.eclipse.ui.internal.EditorAreaHelper.addEditor(EditorAreaHelper.java:213)
    at org.eclipse.ui.internal.EditorManager.createEditorTab(EditorManager.java:778)
    at org.eclipse.ui.internal.EditorManager.openEditorFromDescriptor(EditorManager.java:677)
    at org.eclipse.ui.internal.EditorManager.openEditor(EditorManager.java:638)
    at org.eclipse.ui.internal.WorkbenchPage.busyOpenEditorBatched(WorkbenchPage.java:2854)
    at org.eclipse.ui.internal.WorkbenchPage.busyOpenEditor(WorkbenchPage.java:2762)
    at org.eclipse.ui.internal.WorkbenchPage.access$11(WorkbenchPage.java:2754)
    at org.eclipse.ui.internal.WorkbenchPage$10.run(WorkbenchPage.java:2705)
    at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:70)
    at org.eclipse.ui.internal.WorkbenchPage.openEditor(WorkbenchPage.java:2701)
    at org.eclipse.ui.internal.WorkbenchPage.openEditor(WorkbenchPage.java:2685)
    at org.eclipse.ui.internal.WorkbenchPage.openEditor(WorkbenchPage.java:2676)
    at org.eclipse.dltk.internal.ui.editor.EditorUtility.openInEditor(EditorUtility.java:405)
    at org.eclipse.dltk.internal.ui.editor.EditorUtility.openInEditor(EditorUtility.java:166)
    at org.eclipse.dltk.internal.ui.actions.OpenActionUtil.open(OpenActionUtil.java:45)
    at org.eclipse.dltk.ui.actions.OpenAction.run(OpenAction.java:259)
    at org.eclipse.dltk.ui.actions.OpenAction.run(OpenAction.java:240)
    at org.eclipse.dltk.ui.actions.SelectionDispatchAction.dispatchRun(SelectionDispatchAction.java:259)
    at org.eclipse.dltk.ui.actions.SelectionDispatchAction.run(SelectionDispatchAction.java:235)
    at org.eclipse.dltk.internal.ui.scriptview.ScriptExplorerActionGroup.handleOpen(ScriptExplorerActionGroup.java:304)
    at org.eclipse.php.internal.ui.explorer.PHPExplorerActionGroup.handleOpen(PHPExplorerActionGroup.java:103)
    at org.eclipse.dltk.internal.ui.scriptview.ScriptExplorerPart$4.open(ScriptExplorerPart.java:667)
    at org.eclipse.jface.viewers.StructuredViewer$2.run(StructuredViewer.java:842)
    at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
    at org.eclipse.core.runtime.Platform.run(Platform.java:888)
    at org.eclipse.ui.internal.JFaceUtil$1.run(JFaceUtil.java:48)
    at org.eclipse.jface.util.SafeRunnable.run(SafeRunnable.java:175)
    at org.eclipse.jface.viewers.StructuredViewer.fireOpen(StructuredViewer.java:840)
    at org.eclipse.jface.viewers.StructuredViewer.handleOpen(StructuredViewer.java:1101)
    at org.eclipse.jface.viewers.StructuredViewer$6.handleOpen(StructuredViewer.java:1205)
    at org.eclipse.jface.util.OpenStrategy.fireOpenEvent(OpenStrategy.java:264)
    at org.eclipse.jface.util.OpenStrategy.access$2(OpenStrategy.java:258)
    at org.eclipse.jface.util.OpenStrategy$1.handleEvent(OpenStrategy.java:298)
    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)
like image 410
TheArchedOne Avatar asked Feb 14 '10 21:02

TheArchedOne


3 Answers

I've had the same problem too when upgrading DLTK to 2.0 M5.

Switching back to M4 seems to have solved the problem for me:

  1. Download the DLTK 2.0 M4 plugin archive:
    http://download.eclipse.org/technology/dltk/downloads/drops/R2.0/S-2.0M4-200912141114/
    (Core Frameworks line)
  2. Extract the zip archive
  3. Locate your eclipse plugin directory (on my Ubuntu, in /.eclipse/org.eclipse.platform_3.5.0_155965261/plugins).
  4. Make sure eclipse is closed. Erase or rename the faulty jar file:

    $ mv org.eclipse.dltk.core_2.0.0.v20100212-1450.jar org.eclipse.dltk.core_2.0.0.v20100212-1450.jar.bak

  5. copy org.eclipse.dltk.core_2.0.0.v20100201-1709.jar from the archive version to your plugin directory.
  6. rename the copied file to the M5 version one:

    $ mv org.eclipse.dltk.core_2.0.0.v20100201-1709.jar org.eclipse.dltk.core_2.0.0.v20100212-1450.jar

Hope it helps.

like image 186
Benoît Vidis Avatar answered Oct 14 '22 14:10

Benoît Vidis


For those of you coming to this older post, I just wanted to let you know that there is another option that brings the PHP intelligence of VS Code to Eclipse Neon and later. It's a plug-in called CodeMix and provides support for PHP in addition to many other dynamic languages through the many available extensions. You can find out more about it on the CodeMix page, or install it into Eclipse directly from the Eclipse marketplace.

like image 21
Todd Williams Avatar answered Oct 14 '22 16:10

Todd Williams


Sadly, following the latest updates to the DLTK, Benoit's recipe no longer works for me. However, downloading the nightly build of PDT did. Here's what you do:

Download the nightly PDP build: N201003021518/pdt-Update-N201003021518.zip

(by the time you follow this recipe, the latest stable build might have moved on, so check under https://build.eclipse.org/hudson/view/Athena%20CBI/job/cbi-pdt-2.2-helios/lastStableBuild/ - expand the "Build Artifacts" link until you find the zip file.)

Create a local update site: mkdir /tmp/eclipse cd /tmp/eclipse_pdt unzip ~/Downloads/pdt-Update-N201003021518.zip

In Eclipse, select Help -> Install New Software -> Work With: Add -> Local… -> /tmp/eclipse_pdt (Click OK and give it a name such as "PDT Nightly Build") In the main window, select the features you want to install (I selected all but PDT Mylyn Feature) Next Finish When asked whether to accept “unsigned” content, say OK. Restart Eclipse when prompted.

like image 39
Immo Huneke Avatar answered Oct 14 '22 16:10

Immo Huneke