Eclipse中使用JSP标记时的问题解决!

类别:Java 点击:0 评论:0 推荐:
环境:Eclipse3+Lomboz3+EMF2.0.0+GEF2.0.1+TomcatPlugin3

在保存带有<%@ taglib xxxx... 的JSP页面和修改时会出现两种错误:

1.!ENTRY org.eclipse.ui 2 0 十月 17, 2004 15:00:12.187
!MESSAGE Save Failed
!STACK 0
java.lang.NoClassDefFoundError
 at com.objectlearn.jasper.LombozOptions.getTldLocationsCache(LombozOptions.java:184)
 at org.apache.jasper.JspCompilationContext.getTldLocation(JspCompilationContext.java:523)
 at org.apache.jasper.compiler.Parser.parseTaglibDirective(Parser.java:418)
 at org.apache.jasper.compiler.Parser.parseDirective(Parser.java:484)
 at org.apache.jasper.compiler.Parser.parseElements(Parser.java:1548)
 at org.apache.jasper.compiler.Parser.parse(Parser.java:127)
 at com.objectlearn.jasper.LombozParserController.parse(LombozParserController.java:387)
 at com.objectlearn.jasper.LombozParserController.parse(LombozParserController.java:188)
 at com.objectlearn.jasper.LombozParserController.parse(LombozParserController.java:156)
 at com.objectlearn.jasper.LombozJspC.parseInternal(LombozJspC.java:179)
 at com.objectlearn.jasper.LombozJspC.parse(LombozJspC.java:124)
 at com.objectlearn.jdt.j2ee.core.Project.parseJSP(Project.java:754)
 at com.objectlearn.jdt.j2ee.editor.JspEditor.parseDocument(JspEditor.java:264)
 at com.objectlearn.jdt.j2ee.editor.JspContentOutlinePage$ContentProvider.inputChanged(JspContentOutlinePage.java:160)
 at org.eclipse.jface.viewers.ContentViewer.setInput(ContentViewer.java:234)
 at org.eclipse.jface.viewers.StructuredViewer.setInput(StructuredViewer.java:1059)
 at com.objectlearn.jdt.j2ee.editor.JspContentOutlinePage.setViewerInput(JspContentOutlinePage.java:319)
 at com.objectlearn.jdt.j2ee.editor.JspContentOutlinePage.setInput(JspContentOutlinePage.java:293)
 at com.objectlearn.jdt.j2ee.editor.JspEditor.doSave(JspEditor.java:178)
 at org.eclipse.ui.internal.EditorManager$12.run(EditorManager.java:1160)
 at org.eclipse.ui.internal.EditorManager$10.run(EditorManager.java:1015)
 at org.eclipse.jface.operation.ModalContext.runInCurrentThread(ModalContext.java:303)
 at org.eclipse.jface.operation.ModalContext.run(ModalContext.java:253)
 at org.eclipse.jface.window.ApplicationWindow$1.run(ApplicationWindow.java:588)
 at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:69)
 at org.eclipse.jface.window.ApplicationWindow.run(ApplicationWindow.java:585)
 at org.eclipse.ui.internal.WorkbenchWindow.run(WorkbenchWindow.java:1653)
 at org.eclipse.ui.internal.EditorManager.runProgressMonitorOperation(EditorManager.java:1021)
 at org.eclipse.ui.internal.EditorManager.savePart(EditorManager.java:1165)
 at org.eclipse.ui.internal.WorkbenchPage.savePart(WorkbenchPage.java:2539)
 at org.eclipse.ui.internal.WorkbenchPage.saveEditor(WorkbenchPage.java:2551)
 at org.eclipse.ui.internal.SaveAction.run(SaveAction.java:69)
 at org.eclipse.jface.action.Action.runWithEvent(Action.java:881)
 at org.eclipse.ui.commands.ActionHandler.execute(ActionHandler.java:141)
 at org.eclipse.ui.internal.commands.Command.execute(Command.java:132)
 at org.eclipse.ui.internal.keys.WorkbenchKeyboard.executeCommand(WorkbenchKeyboard.java:471)
 at org.eclipse.ui.internal.keys.WorkbenchKeyboard.press(WorkbenchKeyboard.java:889)
 at org.eclipse.ui.internal.keys.WorkbenchKeyboard.processKeyEvent(WorkbenchKeyboard.java:930)
 at org.eclipse.ui.internal.keys.WorkbenchKeyboard.filterKeySequenceBindings(WorkbenchKeyboard.java:548)
 at org.eclipse.ui.internal.keys.WorkbenchKeyboard.access$2(WorkbenchKeyboard.java:496)
 at org.eclipse.ui.internal.keys.WorkbenchKeyboard$1.handleEvent(WorkbenchKeyboard.java:261)
 at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:82)
 at org.eclipse.swt.widgets.Display.filterEvent(Display.java:740)
 at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:795)
 at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:820)
 at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:805)
 at org.eclipse.swt.widgets.Control.sendKeyEvent(Control.java:1734)
 at org.eclipse.swt.widgets.Control.sendKeyEvent(Control.java:1730)
 at org.eclipse.swt.widgets.Control.WM_CHAR(Control.java:3067)
 at org.eclipse.swt.widgets.Control.windowProc(Control.java:2970)
 at org.eclipse.swt.widgets.Display.windowProc(Display.java:3338)
 at org.eclipse.swt.internal.win32.OS.DispatchMessageW(Native Method)
 at org.eclipse.swt.internal.win32.OS.DispatchMessage(OS.java:1467)
 at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:2429)
 at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:1377)
 at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:1348)
 at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:254)
 at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:141)
 at org.eclipse.ui.internal.ide.IDEApplication.run(IDEApplication.java:96)
 at org.eclipse.core.internal.runtime.PlatformActivator$1.run(PlatformActivator.java:335)
 at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:273)
 at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:129)
 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.core.launcher.Main.basicRun(Main.java:183)
 at org.eclipse.core.launcher.Main.run(Main.java:644)
 at org.eclipse.core.launcher.Main.main(Main.java:628)

2.!ENTRY org.eclipse.ui 2 0 十月 17, 2004 14:42:58.734
!MESSAGE Save Failed
!STACK 0
org.eclipse.jface.util.Assert$AssertionFailedException: Assertion failed: ContentViewer must have a content provider when input is set.
 at org.eclipse.jface.util.Assert.isTrue(Assert.java:168)
 at org.eclipse.jface.viewers.ContentViewer.setInput(ContentViewer.java:229)
 at org.eclipse.jface.viewers.StructuredViewer.setInput(StructuredViewer.java:1059)
 at com.objectlearn.jdt.j2ee.editor.JspContentOutlinePage.setViewerInput(JspContentOutlinePage.java:319)
 at com.objectlearn.jdt.j2ee.editor.JspContentOutlinePage.setInput(JspContentOutlinePage.java:293)
 at com.objectlearn.jdt.j2ee.editor.JspEditor.doSave(JspEditor.java:178)
 at org.eclipse.ui.internal.EditorManager$12.run(EditorManager.java:1160)
 at org.eclipse.ui.internal.EditorManager$10.run(EditorManager.java:1015)
 at org.eclipse.jface.operation.ModalContext.runInCurrentThread(ModalContext.java:303)
 at org.eclipse.jface.operation.ModalContext.run(ModalContext.java:253)
 at org.eclipse.jface.window.ApplicationWindow$1.run(ApplicationWindow.java:588)
 at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:69)
 at org.eclipse.jface.window.ApplicationWindow.run(ApplicationWindow.java:585)
 at org.eclipse.ui.internal.WorkbenchWindow.run(WorkbenchWindow.java:1653)
 at org.eclipse.ui.internal.EditorManager.runProgressMonitorOperation(EditorManager.java:1021)
 at org.eclipse.ui.internal.EditorManager.savePart(EditorManager.java:1165)
 at org.eclipse.ui.internal.WorkbenchPage.savePart(WorkbenchPage.java:2539)
 at org.eclipse.ui.internal.WorkbenchPage.saveEditor(WorkbenchPage.java:2551)
 at org.eclipse.ui.internal.SaveAction.run(SaveAction.java:69)
 at org.eclipse.jface.action.Action.runWithEvent(Action.java:881)
 at org.eclipse.ui.commands.ActionHandler.execute(ActionHandler.java:141)
 at org.eclipse.ui.internal.commands.Command.execute(Command.java:132)
 at org.eclipse.ui.internal.keys.WorkbenchKeyboard.executeCommand(WorkbenchKeyboard.java:471)
 at org.eclipse.ui.internal.keys.WorkbenchKeyboard.press(WorkbenchKeyboard.java:889)
 at org.eclipse.ui.internal.keys.WorkbenchKeyboard.processKeyEvent(WorkbenchKeyboard.java:930)
 at org.eclipse.ui.internal.keys.WorkbenchKeyboard.filterKeySequenceBindings(WorkbenchKeyboard.java:548)
 at org.eclipse.ui.internal.keys.WorkbenchKeyboard.access$2(WorkbenchKeyboard.java:496)
 at org.eclipse.ui.internal.keys.WorkbenchKeyboard$1.handleEvent(WorkbenchKeyboard.java:261)
 at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:82)
 at org.eclipse.swt.widgets.Display.filterEvent(Display.java:740)
 at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:795)
 at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:820)
 at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:805)
 at org.eclipse.swt.widgets.Control.sendKeyEvent(Control.java:1734)
 at org.eclipse.swt.widgets.Control.sendKeyEvent(Control.java:1730)
 at org.eclipse.swt.widgets.Control.WM_CHAR(Control.java:3067)
 at org.eclipse.swt.widgets.Control.windowProc(Control.java:2970)
 at org.eclipse.swt.widgets.Display.windowProc(Display.java:3338)
 at org.eclipse.swt.internal.win32.OS.DispatchMessageW(Native Method)
 at org.eclipse.swt.internal.win32.OS.DispatchMessage(OS.java:1467)
 at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:2429)
 at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:1377)
 at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:1348)
 at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:254)
 at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:141)
 at org.eclipse.ui.internal.ide.IDEApplication.run(IDEApplication.java:96)
 at org.eclipse.core.internal.runtime.PlatformActivator$1.run(PlatformActivator.java:335)
 at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:273)
 at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:129)
 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.core.launcher.Main.basicRun(Main.java:183)
 at org.eclipse.core.launcher.Main.run(Main.java:644)
 at org.eclipse.core.launcher.Main.main(Main.java:628)

在网上找了一大圈,未果。最后,将原来使用的Lomboz3替换成Lomboz3.0.1问题得到解决.

很奇怪的是这个project是一个tomcat项目而非lomboz项目,这也证明Lomboz会干扰Tomcat项目,寻找答案中。

本文地址:http://com.8s8s.com/it/it14505.htm