开发者

FreeMarker Editor in eclipse 3.5 giving Illegal Argument Exception

I am trying to use the freemarker editor in eclipse 3.5 Galileo and found the exception :

java.lang.IllegalArgumentException: Argument not valid
    at org.eclipse.swt.SWT.error(SWT.java:3865)
    at org.eclipse.swt.SWT.error(SWT.java:3799)
    at org.eclipse.swt.SWT.error(SWT.java:3770)
    at org.eclipse.swt.custom.StyledText.setStyleRanges(StyledText.java:9029)
    at org.eclipse.swt.custom.StyledText.setStyleRanges(StyledText.java:9123)
    at org.eclipse.jface.text.TextViewer.applyTextPresentation(TextViewer.java:4801)
    at org.eclipse.jface.text.TextViewer.changeTextPresentation(TextViewer.java:4853)
    at org.eclipse.jface.text.presentation.PresentationReconciler.applyTextRegionCollection(PresentationReconciler.java:579)
    at org.eclipse.jface.text.presentation.PresentationReconciler.processDamage(PresentationReconciler.java:568)
    at org.eclipse.jface.text.presentation.PresentationReconciler.access$3(PresentationReconciler.java:564)
    at org.eclipse.jface.text.presentation.PresentationReconciler$InternalListener.inputDocumentChanged(PresentationReconciler.java:119)
    at org.eclipse.jface.text.TextViewer.fireInputDocumentChanged(TextViewer.java:2870)
    at org.eclipse.jface.text.TextViewer.setDocument(TextViewer.java:2919)
    at org.eclipse.jface.text.source.SourceViewer.setDocument(SourceViewer.java:545)
    at org.eclipse.jface.text.source.SourceViewer.setDocument(SourceViewer.java:500)
    at org.eclipse.ui.texteditor.AbstractTextEditor.initializeSourceViewer(AbstractTextEditor.java:3951)
    at org.eclipse.ui.texteditor.AbstractTextEditor.createPartControl(AbstractTextEditor.java:3466)
    at org.eclipse.ui.texteditor.StatusTextEditor.createPartControl(StatusTextEditor.java:53)
    at org.eclipse.ui.texteditor.AbstractDecoratedTextEditor.createPartControl(AbstractDecoratedTextEditor.java:427)
    at org.eclipse.ui.internal.EditorReference.createPartHelper(EditorReference.java:662)
    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.EditorReference.getEditor(EditorReference.java:286)
    at org.eclipse.ui.internal.WorkbenchPage.busyOpenEditorBatched(WorkbenchPage.java:2857)
    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.ui.ide.IDE.openEditor(IDE.java:651)
    at org.eclipse.ui.ide.IDE.openEditor(IDE.java:610)
    at org.eclipse.ui.internal.ide.handlers.OpenResourceHandler.execute(OpenResourceHandler.java:129)
    at org.eclipse.ui.internal.ide.handlers.OpenResourceHandler.run(OpenResourceHandler.java:181)
    at org.eclipse.ui.internal.handlers.ActionDelegateHandlerProxy.execute(ActionDelegateHandlerProxy.java:289)
    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.keys.WorkbenchKeyboard.executeCommand(WorkbenchKeyboard.java:470)
    at org.eclipse.ui.internal.keys.WorkbenchKeyboard.press(WorkbenchKeyboard.java:824)
    at org.eclipse.ui.internal.keys.WorkbenchKeyboard.processKeyEvent(WorkbenchKeyboard.java:880)
    at org.eclipse.ui.internal.keys.WorkbenchKeyboard.filterKeySequenceBindings(WorkbenchKeyboard.java:569)
    at org.eclipse.ui.internal.keys.WorkbenchKeyboard.access$3(WorkbenchKeyboard.java:510)
    at org.eclipse.ui.internal.keys.WorkbenchKeyboard$KeyDownFilter.handleEvent(WorkbenchKeyboard.java:125)
    at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
    at org.eclipse.swt.widgets.Display.filterEvent(Display.java:1191)
    at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1002)
    at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1027)
    at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1012)
    at org.eclipse.swt.widgets.Widget.sendKeyEvent(Widget.java:1040)
    at org.eclipse.swt.widgets.Widget.sendKeyEvent(Widget.java:1036)
    at org.eclipse.swt.widgets.Widget.wmChar(Widget.java:1368)
    at org.eclipse.swt.widgets.Control.WM_CHAR(Control.java:4053)
    at org.eclipse.swt.widgets.Canvas.WM_CHAR(Canvas.java:346)
    at org.eclipse.swt.widgets.Control.windowProc(Control.java:3946)
    at org.eclipse.swt.widgets.Canvas.windowProc(Canvas.java:342)
    at org.eclipse.swt.widgets.Display.windowProc(Display.java:4589)
    at org.eclipse.swt.internal.win32.OS.DispatchMessageW(Native Method)
    at org.eclipse.swt.internal.win32.OS.DispatchMessage(OS.java:2410)
    at org.eclipse.swt.widge开发者_如何学Gots.Display.readAndDispatch(Display.java:3471)
    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)

I replaced the freemarker jar in plugin directory and I am using clean option also .. but couldn't find anything...


FreeMarker is a bit old (latest release in December 2008).

Can you check you reproduce the problem with eclipse Ganymede 3.4(.x), that is older version, or eclipse 3.5.1 (more recent)?
SWT might have evolve in non-compatible way since then. Or it might just be an old bug still un-resolved (like the 115253 one, or the 287886, which should have been fixed in 282218, but for Mac and probably only in 3.5.1).


There's no mention of Freemarker classes in the above stack trace. What editor are you using?

I have Eclipse 3.5.20090621-0832 and Freemarker IDE 1.1.0.M1-N200906060434-H241 and both are working fine. Freemarker IDE is part of JBoss Tools.

You can get the latest development milestone (stable releases only support Eclipse 3.4.2) - note that it requires Eclipse 3.5.1 / Galileo SR1.

Or, if you're using Eclipse's built-in package management, update site is here along with installation instructions


Just encountered the same problem and tracked it down to:

<style type="text/css">
<?php ?>

Basically, it seems like, this Exception is thrown b/c the parser is confused by certain combinations of HTML and PHP.

I can have this Exception thrown just by creating a new PHP-file and fill it with something like that. But the odd thing is it seems like after playing around with it a while makes the Exception disappear. So maybe it's a Unicode-thing neutralized by my editing after a while.

Anyway, there you go.

Best

Raffael

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜