我必须修改并重新编译一个jrxml。 我使用Eclipse的JasperSoft插件但是当我尝试打开报告源代码时eclipse给了我这个错误:
java.lang.ClassCastException:ch.qos.logback.classic.util.LogbackMDCAdapter无法强制转换为ch.qos.logback.classic.util.LogbackMDCAdapter
java.lang.ClassCastException: ch.qos.logback.classic.util.LogbackMDCAdapter cannot be cast to
ch.qos.logback.classic.util.LogbackMDCAdapter 在ch.qos.logback.classic.spi.LoggingEvent。(LoggingEvent.java:133) 在ch.qos.logback.classic.Logger.buildLoggingEventAndAppend(Logger.java:471) 在ch.qos.logback.classic.Logger.filterAndLog_0_Or3Plus(Logger.java:427) 在ch.qos.logback.classic.Logger.log(Logger.java:846) 在org.apache.commons.logging.impl.SLF4JLocationAwareLog.debug(SLF4JLocationAwareLog.java:133) at net.sf.jasperreports.engine.xml.JRXmlDigesterFactory.createParser(JRXmlDigesterFactory.java:1591) at net.sf.jasperreports.engine.xml.JRXmlDigesterFactory.createDigester(JRXmlDigesterFactory.java:1564) 在com.jaspersoft.studio.editor.AbstractJRXMLEditor.doInitModel(AbstractJRXMLEditor.java:295) 在com.jaspersoft.studio.editor.AbstractJRXMLEditor.init(AbstractJRXMLEditor.java:248) at org.eclipse.ui.internal.EditorReference.initialize(EditorReference.java:361) at org.eclipse.ui.internal.e4.compatibility.CompatibilityPart.create(CompatibilityPart.java:319) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:606) 在org.eclipse.e4.core.internal.di.MethodRequestor.execute(MethodRequestor.java:56) at org.eclipse.e4.core.internal.di.InjectorImpl.processAnnotated(InjectorImpl.java:898) at org.eclipse.e4.core.internal.di.InjectorImpl.processAnnotated(InjectorImpl.java:879) at org.eclipse.e4.core.internal.di.InjectorImpl.inject(InjectorImpl.java:121) at org.eclipse.e4.core.internal.di.InjectorImpl.internalMake(InjectorImpl.java:345) 在org.eclipse.e4.core.internal.di.InjectorImpl.make(InjectorImpl.java:264) at org.eclipse.e4.core.contexts.ContextInjectionFactory.make(ContextInjectionFactory.java:162) at org.eclipse.e4.ui.internal.workbench.ReflectionContributionFactory.createFromBundle(ReflectionContributionFactory.java:104) at org.eclipse.e4.ui.internal.workbench.ReflectionContributionFactory.doCreate(ReflectionContributionFactory.java:73) at org.eclipse.e4.ui.internal.workbench.ReflectionContributionFactory.create(ReflectionContributionFactory.java:55) 在org.eclipse.e4.ui.workbench.renderers.swt.ContributedPartRenderer.createWidget(ContributedPartRenderer.java:129) 在org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.createWidget(PartRenderingEngine.java:971) at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.safeCreateGui(PartRenderingEngine.java:640) at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.safeCreateGui(PartRenderingEngine.java:746) 在org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.access $ 0(PartRenderingEngine.java:717) at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine $ 2.run(PartRenderingEngine.java:711) 在org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42) 在org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.createGui(PartRenderingEngine.java:695) at org.eclipse.e4.ui.internal.workbench.PartServiceImpl $ 1.handleEvent(PartServiceImpl.java:99) 在org.eclipse.e4.ui.services.internal.events.UIEventHandler $ 1.run(UIEventHandler.java:40) 在org.eclipse.swt.widgets.Synchronizer.syncExec(Synchronizer.java:186) 在org.eclipse.ui.internal.UISynchronizer.syncExec(UISynchronizer.java:145) 在org.eclipse.swt.widgets.Display.syncExec(Display.java:4761) 在org.eclipse.e4.ui.internal.workbench.swt.E4Application $ 1.syncExec(E4Application.java:211) at org.eclipse.e4.ui.services.internal.events.UIEventHandler.handleEvent(UIEventHandler.java:36) 在org.eclipse.equinox.internal.event.EventHandlerWrapper.handleEvent(EventHandlerWrapper.java:197) 在org.eclipse.equinox.internal.event.EventHandlerTracker.dispatchEvent(EventHandlerTracker.java:197) 在org.eclipse.equinox.internal.event.EventHandlerTracker.dispatchEvent(EventHandlerTracker.java:1) 在org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:230) 在org.eclipse.osgi.framework.eventmgr.ListenerQueue.dispatchEventSynchronous(ListenerQueue.java:148) 在org.eclipse.equinox.internal.event.EventAdminImpl.dispatchEvent(EventAdminImpl.java:135) 在org.eclipse.equinox.internal.event.EventAdminImpl.sendEvent(EventAdminImpl.java:78) at org.eclipse.equinox.internal.event.EventComponent.sendEvent(EventComponent.java:39) 在org.eclipse.e4.ui.services.internal.events.EventBroker.send(EventBroker.java:85) 在org.eclipse.e4.ui.internal.workbench.UIEventPublisher.notifyChanged(UIEventPublisher.java:59) 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:171) at org.eclipse.e4.ui.internal.workbench.ModelServiceImpl.showElementInWindow(ModelServiceImpl.java:572) at org.eclipse.e4.ui.internal.workbench.ModelServiceImpl.bringToTop(ModelServiceImpl.java:536) 在org.eclipse.e4.ui.internal.workbench.PartServiceImpl.delegateBringToTop(PartServiceImpl.java:724) 在org.eclipse.e4.ui.internal.workbench.PartServiceImpl.bringToTop(PartServiceImpl.java:396) 在org.eclipse.e4.ui.internal.workbench.PartServiceImpl.showPart(PartServiceImpl.java:1166) 在org.eclipse.ui.internal.WorkbenchPage.busyOpenEditor(WorkbenchPage.java:3252) 在org.eclipse.ui.internal.WorkbenchPage.access $ 25(WorkbenchPage.java:3167) 在org.eclipse.ui.internal.WorkbenchPage $ 10.run(WorkbenchPage.java:3149) 在org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:70) 在org.eclipse.ui.internal.WorkbenchPage.openEditor(WorkbenchPage.java:3144) 在org.eclipse.ui.internal.WorkbenchPage.openEditor(WorkbenchPage.java:3108) 在org.eclipse.ui.internal.WorkbenchPage.openEditor(WorkbenchPage.java:3098) 在org.eclipse.ui.ide.IDE.openEditor(IDE.java:541) 在org.eclipse.ui.ide.IDE.openEditor(IDE.java:500) 在org.eclipse.jdt.internal.ui.javaeditor.EditorUtility.openInEditor(EditorUtility.java:360) 在org.eclipse.jdt.internal.ui.javaeditor.EditorUtility.openInEditor(EditorUtility.java:167) 在org.eclipse.jdt.ui.actions.OpenAction.run(OpenAction.java:268) 在org.eclipse.jdt.ui.actions.OpenAction.run(OpenAction.java:233) 在org.eclipse.jdt.ui.actions.SelectionDispatchAction.dispatchRun(SelectionDispatchAction.java:275) at org.eclipse.jdt.ui.actions.SelectionDispatchAction.run(SelectionDispatchAction.java:251) 在org.eclipse.jdt.internal.ui.navigator.OpenAndExpand.run(OpenAndExpand.java:50) 在org.eclipse.ui.actions.RetargetAction.run(RetargetAction.java:229) 在org.eclipse.ui.navigator.CommonNavigatorManager $ 2.open(CommonNavigatorManager.java:191) at org.eclipse.ui.OpenAndLinkWithEditorHelper $ InternalListener.open(OpenAndLinkWithEditorHelper.java:48) 在org.eclipse.jface.viewers.StructuredViewer $ 2.run(StructuredViewer.java:854) 在org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42) 在org.eclipse.ui.internal.JFaceUtil $ 1.run(JFaceUtil.java:50) 在org.eclipse.jface.util.SafeRunnable.run(SafeRunnable.java:173) 在org.eclipse.jface.viewers.StructuredViewer.fireOpen(StructuredViewer.java:851) 在org.eclipse.jface.viewers.StructuredViewer.handleOpen(StructuredViewer.java:1168) 在org.eclipse.ui.navigator.CommonViewer.handleOpen(CommonViewer.java:449) 在org.eclipse.jface.viewers.StructuredViewer $ 6.handleOpen(StructuredViewer.java:1275) 在org.eclipse.jface.util.OpenStrategy.fireOpenEvent(OpenStrategy.java:278) 在org.eclipse.jface.util.OpenStrategy.access $ 2(OpenStrategy.java:272) 在org.eclipse.jface.util.OpenStrategy $ 1.handleEvent(OpenStrategy.java:313) 在org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84) 在org.eclipse.swt.widgets.Display.sendEvent(Display.java:4362) 在org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1113) 在org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:4180) 在org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3769) at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine $ 4.run(PartRenderingEngine.java:1127) 在org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:337) 在org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:1018) 在org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:156) 在org.eclipse.ui.internal.Workbench $ 5.run(Workbench.java:694) 在org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:337) 在org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:606) 在org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:150) 在org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:139) 在org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196) 在org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:134) 在org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:104) 在org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:380) 在org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:235) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:606) 在org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:669) 在org.eclipse.equinox.launcher.Main.basicRun(Main.java:608) 在org.eclipse.equinox.launcher.Main.run(Main.java:1515) 在org.eclipse.equinox.launcher.Main.main(Main.java:1488)
Eclipse在源代码中发现了一些错误(但错误实际上并不存在!)而且我无法编译Jasper。
我已经重新安装了Eclipse,重新导入了JavaEE Project并重新安装了JasperSoft插件。