Scala IDE 4.7.0 and eclipse oxygen 4.7.1a breaks maven integration

1,064 views
Skip to first unread message

Alexander

unread,
Oct 26, 2017, 6:19:49 AM10/26/17
to Scala IDE User
Hi,

it seems that the combination of eclipse oxygen 4.7.1a with maven and the current Scala IDE is broken:

When I open a pom.xml file of a maven project, the graphical pom editor looks broken and error logs are written into the eclipse .log file. However, when I close the pom.xml file in eclipse and reopen it, the graphical pom editor looks fine and all seems good.

Now when I leave a pom.xml file open when closing the whole eclipse application, the next start of eclipse will fail with an error message "An error has occured. See the log file". Starting eclipse again ist only possible with the parameter -clearPersistedState.

Does anybody else have the same issue or knows how I can solve this problem?? Any help would be much appreciated...

Steps to reproduce:
  • Download current eclipse version for windows (64bit)
    Eclipse IDE for Java Developers,
    Version: Oxygen.1a Release (4.7.1a),
    Build id: 20171005-1200
  • Install current Scala IDE
    Scala 2.12.3           4.7.0.201709291351
    Scala IDE for Eclipse  4.7.0.v-2_12-201709291352-71a28d0
    zinc 1.0.0             4.7.0.201709291351
  • Create any maven project ( new maven project -> simple project (skip archetype selection) ...)
  • Open pom.xml
    => pom editor looks broken with error icons, eclipse log file contains exception stacktrace

!ENTRY org.eclipse.core.contenttype 4 0 2017-10-26 11:07:27.975
!MESSAGE Could not create content describer for scala.tools.eclipse.scalaClass. Content type has been disabled.
!STACK 0
java
.lang.AssertionError: assertion failed
    at scala
.Predef$.assert(Predef.scala:204)
    at scala
.tools.scalap.Classfile.<init>(Classfile.scala:17)
    at org
.scalaide.core.internal.jdt.model.ScalaClassFileDescriber$.isScala(ScalaClassFileDescriber.scala:16)
    at org
.scalaide.core.internal.jdt.model.ScalaClassFileDescriber.describe(ScalaClassFileDescriber.scala:38)
    at org
.eclipse.core.internal.content.ContentTypeCatalog.describe(ContentTypeCatalog.java:226)
    at org
.eclipse.core.internal.content.ContentTypeCatalog.collectMatchingByContents(ContentTypeCatalog.java:197)
    at org
.eclipse.core.internal.content.ContentTypeCatalog.internalFindContentTypesFor(ContentTypeCatalog.java:409)
    at org
.eclipse.core.internal.content.ContentTypeCatalog.internalFindContentTypesFor(ContentTypeCatalog.java:458)
    at org
.eclipse.core.internal.content.ContentTypeCatalog.findContentTypesFor(ContentTypeCatalog.java:306)
    at org
.eclipse.core.internal.content.ContentTypeMatcher.findContentTypeFor(ContentTypeMatcher.java:36)
    at org
.eclipse.wst.sse.core.internal.modelhandler.ModelHandlerRegistry.getHandlerFor(ModelHandlerRegistry.java:230)
    at org
.eclipse.wst.sse.core.internal.model.ModelManagerImpl.calculateType(ModelManagerImpl.java:750)
    at org
.eclipse.wst.sse.core.internal.model.ModelManagerImpl.getModelForEdit(ModelManagerImpl.java:1427)
    at org
.eclipse.wst.sse.ui.internal.StorageModelProvider.loadModel(StorageModelProvider.java:733)
    at org
.eclipse.wst.sse.ui.internal.StorageModelProvider.loadModel(StorageModelProvider.java:705)
    at org
.eclipse.wst.sse.ui.internal.StorageModelProvider.selfCreateModel(StorageModelProvider.java:761)
    at org
.eclipse.wst.sse.ui.internal.StorageModelProvider.createModelInfo(StorageModelProvider.java:478)
    at org
.eclipse.wst.sse.ui.internal.StorageModelProvider.createElementInfo(StorageModelProvider.java:469)
    at org
.eclipse.ui.texteditor.AbstractDocumentProvider.connect(AbstractDocumentProvider.java:392)
    at org
.eclipse.ui.texteditor.AbstractTextEditor.doSetInput(AbstractTextEditor.java:4178)
    at org
.eclipse.ui.texteditor.StatusTextEditor.doSetInput(StatusTextEditor.java:257)
    at org
.eclipse.ui.texteditor.AbstractDecoratedTextEditor.doSetInput(AbstractDecoratedTextEditor.java:1466)
    at org
.eclipse.ui.editors.text.TextEditor.doSetInput(TextEditor.java:150)
    at org
.eclipse.wst.sse.ui.StructuredTextEditor.doSetInput(StructuredTextEditor.java:1958)
    at org
.eclipse.ui.texteditor.AbstractTextEditor$5.run(AbstractTextEditor.java:3154)
    at org
.eclipse.jface.operation.ModalContext.runInCurrentThread(ModalContext.java:437)
    at org
.eclipse.jface.operation.ModalContext.run(ModalContext.java:353)
    at org
.eclipse.ui.internal.WorkbenchWindow$14.run(WorkbenchWindow.java:2195)
    at org
.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:70)
    at org
.eclipse.ui.internal.WorkbenchWindow.run(WorkbenchWindow.java:2191)
    at org
.eclipse.ui.texteditor.AbstractTextEditor.internalInit(AbstractTextEditor.java:3172)
    at org
.eclipse.ui.texteditor.AbstractTextEditor.init(AbstractTextEditor.java:3197)
    at org
.eclipse.wst.sse.ui.StructuredTextEditor.init(StructuredTextEditor.java:2651)
    at org
.eclipse.ui.part.MultiPageEditorPart.addPage(MultiPageEditorPart.java:237)
    at org
.eclipse.ui.forms.editor.FormEditor.addPage(FormEditor.java:330)
    at org
.eclipse.ui.part.MultiPageEditorPart.addPage(MultiPageEditorPart.java:211)
    at org
.eclipse.ui.forms.editor.FormEditor.addPage(FormEditor.java:312)
    at org
.eclipse.m2e.editor.pom.MavenPomEditor.addSourcePage(MavenPomEditor.java:626)
    at org
.eclipse.m2e.editor.pom.MavenPomEditor.addPages(MavenPomEditor.java:363)
    at org
.eclipse.ui.forms.editor.FormEditor.createPages(FormEditor.java:140)
    at org
.eclipse.ui.part.MultiPageEditorPart.createPartControl(MultiPageEditorPart.java:348)
    at org
.eclipse.ui.internal.e4.compatibility.CompatibilityPart.createPartControl(CompatibilityPart.java:151)
    at org
.eclipse.ui.internal.e4.compatibility.CompatibilityEditor.createPartControl(CompatibilityEditor.java:99)
    at org
.eclipse.ui.internal.e4.compatibility.CompatibilityPart.create(CompatibilityPart.java:355)
    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.e4.core.internal.di.MethodRequestor.execute(MethodRequestor.java:55)
    at org
.eclipse.e4.core.internal.di.InjectorImpl.processAnnotated(InjectorImpl.java:990)
    at org
.eclipse.e4.core.internal.di.InjectorImpl.processAnnotated(InjectorImpl.java:955)
    at org
.eclipse.e4.core.internal.di.InjectorImpl.inject(InjectorImpl.java:124)
    at org
.eclipse.e4.core.internal.di.InjectorImpl.internalMake(InjectorImpl.java:399)
    at org
.eclipse.e4.core.internal.di.InjectorImpl.make(InjectorImpl.java:318)
    at org
.eclipse.e4.core.contexts.ContextInjectionFactory.make(ContextInjectionFactory.java:162)
   
 at
org
.eclipse.e4.ui.internal.workbench.ReflectionContributionFactory.createFromBundle(ReflectionContributionFactory.java:105)
    at org
.eclipse.e4.ui.internal.workbench.ReflectionContributionFactory.doCreate(ReflectionContributionFactory.java:74)
    at org
.eclipse.e4.ui.internal.workbench.ReflectionContributionFactory.create(ReflectionContributionFactory.java:56)
    at org
.eclipse.e4.ui.workbench.renderers.swt.ContributedPartRenderer.createWidget(ContributedPartRenderer.java:129)
    at org
.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.createWidget(PartRenderingEngine.java:992)
    at org
.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.safeCreateGui(PartRenderingEngine.java:661)
    at org
.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.safeCreateGui(PartRenderingEngine.java:767)
    at org
.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.access$0(PartRenderingEngine.java:738)
    at org
.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$2.run(PartRenderingEngine.java:732)
    at org
.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
    at org
.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.createGui(PartRenderingEngine.java:716)
    at org
.eclipse.e4.ui.workbench.renderers.swt.StackRenderer.showTab(StackRenderer.java:1293)
    at org
.eclipse.e4.ui.workbench.renderers.swt.LazyStackRenderer.lambda$0(LazyStackRenderer.java:68)
    at org
.eclipse.e4.ui.services.internal.events.UIEventHandler$1.run(UIEventHandler.java:40)
    at org
.eclipse.swt.widgets.Synchronizer.syncExec(Synchronizer.java:233)
    at org
.eclipse.ui.internal.UISynchronizer.syncExec(UISynchronizer.java:144)
    at org
.eclipse.swt.widgets.Display.syncExec(Display.java:4889)
    at org
.eclipse.e4.ui.internal.workbench.swt.E4Application$1.syncExec(E4Application.java:212)
    at org
.eclipse.e4.ui.services.internal.events.UIEventHandler.handleEvent(UIEventHandler.java:36)
    at org
.eclipse.equinox.internal.event.EventHandlerWrapper.handleEvent(EventHandlerWrapper.java:201)
    at org
.eclipse.equinox.internal.event.EventHandlerTracker.dispatchEvent(EventHandlerTracker.java:197)
    at org
.eclipse.equinox.internal.event.EventHandlerTracker.dispatchEvent(EventHandlerTracker.java:1)
    at org
.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:230)
    at org
.eclipse.osgi.framework.eventmgr.ListenerQueue.dispatchEventSynchronous(ListenerQueue.java:148)
    at org
.eclipse.equinox.internal.event.EventAdminImpl.dispatchEvent(EventAdminImpl.java:135)
    at org
.eclipse.equinox.internal.event.EventAdminImpl.sendEvent(EventAdminImpl.java:78)
    at org
.eclipse.equinox.internal.event.EventComponent.sendEvent(EventComponent.java:39)
    at org
.eclipse.e4.ui.services.internal.events.EventBroker.send(EventBroker.java:52)
    at org
.eclipse.e4.ui.internal.workbench.UIEventPublisher.notifyChanged(UIEventPublisher.java:60)
    at org
.eclipse.emf.common.notify.impl.BasicNotifierImpl.eNotify(BasicNotifierImpl.java:374)
    at org
.eclipse.e4.ui.model.application.ui.impl.ElementContainerImpl.setSelectedElement(ElementContainerImpl.java:173)
    at org
.eclipse.e4.ui.internal.workbench.ModelServiceImpl.showElementInWindow(ModelServiceImpl.java:620)
    at org
.eclipse.e4.ui.internal.workbench.ModelServiceImpl.bringToTop(ModelServiceImpl.java:584)
    at org
.eclipse.e4.ui.internal.workbench.PartServiceImpl.delegateBringToTop(PartServiceImpl.java:769)
    at org
.eclipse.e4.ui.internal.workbench.PartServiceImpl.bringToTop(PartServiceImpl.java:401)
    at org
.eclipse.e4.ui.internal.workbench.PartServiceImpl.showPart(PartServiceImpl.java:1188)
    at org
.eclipse.ui.internal.WorkbenchPage.busyOpenEditor(WorkbenchPage.java:3261)
    at org
.eclipse.ui.internal.WorkbenchPage.access$25(WorkbenchPage.java:3176)
    at org
.eclipse.ui.internal.WorkbenchPage$10.run(WorkbenchPage.java:3158)
    at org
.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:70)
    at org
.eclipse.ui.internal.WorkbenchPage.openEditor(WorkbenchPage.java:3153)
    at org
.eclipse.ui.internal.WorkbenchPage.openEditor(WorkbenchPage.java:3117)
    at org
.eclipse.ui.internal.WorkbenchPage.openEditor(WorkbenchPage.java:3107)
    at org
.eclipse.ui.ide.IDE.openEditor(IDE.java:563)
    at org
.eclipse.ui.ide.IDE.openEditor(IDE.java:518)
    at org
.eclipse.jdt.internal.ui.javaeditor.EditorUtility.openInEditor(EditorUtility.java:360)
    at org
.eclipse.jdt.internal.ui.javaeditor.EditorUtility.openInEditor(EditorUtility.java:167)
    at org
.eclipse.jdt.ui.actions.OpenAction.run(OpenAction.java:279)
    at org
.eclipse.jdt.ui.actions.OpenAction.run(OpenAction.java:244)
    at org
.eclipse.jdt.ui.actions.SelectionDispatchAction.dispatchRun(SelectionDispatchAction.java:271)
    at org
.eclipse.jdt.ui.actions.SelectionDispatchAction.run(SelectionDispatchAction.java:249)
    at org
.eclipse.jdt.internal.ui.packageview.PackageExplorerActionGroup.handleOpen(PackageExplorerActionGroup.java:379)
    at org
.eclipse.jdt.internal.ui.packageview.PackageExplorerPart$4.open(PackageExplorerPart.java:541)
    at org
.eclipse.ui.OpenAndLinkWithEditorHelper$InternalListener.open(OpenAndLinkWithEditorHelper.java:46)
    at org
.eclipse.jface.viewers.StructuredViewer$2.run(StructuredViewer.java:851)
    at org
.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
    at org
.eclipse.ui.internal.JFaceUtil.lambda$0(JFaceUtil.java:44)
    at org
.eclipse.jface.util.SafeRunnable.run(SafeRunnable.java:173)
    at org
.eclipse.jface.viewers.StructuredViewer.fireOpen(StructuredViewer.java:848)
    at org
.eclipse.jface.viewers.StructuredViewer.handleOpen(StructuredViewer.java:1163)
    at org
.eclipse.jface.util.OpenStrategy.fireOpenEvent(OpenStrategy.java:273)
    at org
.eclipse.jface.util.OpenStrategy.access$2(OpenStrategy.java:268)
    at org
.eclipse.jface.util.OpenStrategy$1.handleEvent(OpenStrategy.java:308)
    at org
.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:86)
    at org
.eclipse.swt.widgets.Display.sendEvent(Display.java:4428)
    at org
.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1079)
    at org
.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:4238)
    at org
.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3817)
    at org
.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$5.run(PartRenderingEngine.java:1150)
    at org
.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:336)
    at org
.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:1039)
    at org
.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:153)
    at org
.eclipse.ui.internal.Workbench.lambda$3(Workbench.java:680)
    at org
.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:336)
    at org
.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:594)
    at org
.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:148)
    at org
.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:151)
    at org
.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
    at org
.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:134)
    at org
.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:104)
    at org
.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:388)
    at org
.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:243)
    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:653)
    at org
.eclipse.equinox.launcher.Main.basicRun(Main.java:590)
    at org
.eclipse.equinox.launcher.Main.run(Main.java:1499)


Nirav Patel

unread,
Nov 15, 2017, 3:30:21 PM11/15/17
to Scala IDE User



What's New with Xactly

        

Avinash Babu

unread,
Jun 26, 2018, 4:28:00 AM6/26/18
to Scala IDE User
Hi Alexander,

It is an issue with the scala's latest version which is not compatible on Eclipse. Try the following steps and see if you can get this resolved. Go to 'Project' --> Properties --> Scala Compiler --> Select 'Use Project Settings' checkbox --> and select 'Latest 2.11 bundle (dynamic)' version from the drop down menu --> apply and close. Now you might have say 'Yes' to a dialog pop up message and restart your eclipse. Let us know how it went.

Michael Hoovler

unread,
Oct 19, 2018, 4:03:40 PM10/19/18
to Scala IDE User
Alexander and Nirav,

The response from Avinash is quite right - I had a similar error that was preventing me from using any of my favorite Eclipse features (code completion, auto-documentation, auto-format - couldn't even bring up a context menu) while in a Scala Project.

But when I read Avinash's reply today, it got me in the right direction.  Here's what I had to do:

  1. In the Project Properties;
    1. Change Java Build Path → Libraries → Scala Library container
          from 2.12.3
          to 2.11.11
              (could be any version < 2.12)
    2. Ensure Java Build Path → Libraries → JRE System Library = Java 1.8
          (my specific case, it's jdk1.8.0_172)
    3. Ensure Java Compiler → Compiler compliance level = 1.8
    4. Change Scala Compiler → Scala Installation
          from Latest 2.12 bundle (dynamic)
          to Fixed Scala Installation: 2.11.11 (built-in)
  2. In the pom.xml:
    1. Changed
          
      <properties><ver.scala>2.12</ver.scala></properties>

      To
          
      <properties><ver.scala>2.11</ver.scala></properties>

      (this, of course, is only applicable if you have any dependencies using your property variable for your Scala version)
And that cleared everything up for me!  Thanks, Avinash!
Reply all
Reply to author
Forward
0 new messages