解决 JBoss-IDE 打开 XDoclet Configurations 出错的问题

我安装的 Eclipse 是 3.2RC6 版的,JBoss-IDE 是 1.5.1 GA 版本,在建立 J2EE 工程时,打开 Properties 中的 XDoclet Configurations 时出现了 "xDoclet the currently displayed page contains invalid values." 的错误,后来查了 eclipse  的 log 文件,发现以下错误:

!ENTRY org.eclipse.jface 4 2 2006-05-29 17:32:13.437
!MESSAGE Problems occurred when invoking code from plug-in: "org.eclipse.jface".
!STACK 0
java.lang.NoClassDefFoundError: org/eclipse/jdt/internal/ui/viewsupport/ListContentProvider
 at org.jboss.ide.eclipse.xdoclet.run.ui.ConfigurationListViewer.<init>(ConfigurationListViewer.java:115)
 at org.jboss.ide.eclipse.xdoclet.run.ui.properties.ConfigurationPropertyPage.createContents(ConfigurationPropertyPage.java:329)
 at org.eclipse.jface.preference.PreferencePage.createControl(PreferencePage.java:233)
 at org.eclipse.jface.preference.PreferenceDialog.createPageControl(PreferenceDialog.java:1403)
 at org.eclipse.jface.preference.PreferenceDialog$12.run(PreferenceDialog.java:1162)
 at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:37)
 at org.eclipse.core.runtime.Platform.run(Platform.java:843)
 at org.eclipse.ui.internal.JFaceUtil$1.run(JFaceUtil.java:44)
 at org.eclipse.jface.util.SafeRunnable.run(SafeRunnable.java:149)
 at org.eclipse.jface.preference.PreferenceDialog.showPage(PreferenceDialog.java:1156)
 at org.eclipse.ui.internal.dialogs.FilteredPreferenceDialog.showPage(FilteredPreferenceDialog.java:439)
 at org.eclipse.jface.preference.PreferenceDialog$8.selectionChanged(PreferenceDialog.java:661)
 at org.eclipse.jface.viewers.StructuredViewer$3.run(StructuredViewer.java:833)
 at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:37)
 at org.eclipse.core.runtime.Platform.run(Platform.java:843)
 at org.eclipse.ui.internal.JFaceUtil$1.run(JFaceUtil.java:44)
 at org.eclipse.jface.util.SafeRunnable.run(SafeRunnable.java:149)
 at org.eclipse.jface.viewers.StructuredViewer.firePostSelectionChanged(StructuredViewer.java:831)
 at org.eclipse.jface.viewers.StructuredViewer.handlePostSelect(StructuredViewer.java:1137)
 at org.eclipse.jface.viewers.StructuredViewer$5.widgetSelected(StructuredViewer.java:1157)
 at org.eclipse.jface.util.OpenStrategy.firePostSelectionEvent(OpenStrategy.java:236)
 at org.eclipse.jface.util.OpenStrategy.access$4(OpenStrategy.java:230)
 at org.eclipse.jface.util.OpenStrategy$3.run(OpenStrategy.java:404)
 at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35)
 at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:123)
 at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:3325)
 at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:2971)
 at org.eclipse.jface.window.Window.runEventLoop(Window.java:820)
 at org.eclipse.jface.window.Window.open(Window.java:796)
 at org.eclipse.ui.dialogs.PropertyDialogAction.run(PropertyDialogAction.java:156)
 at org.eclipse.jface.action.Action.runWithEvent(Action.java:499)
 at org.eclipse.jface.action.ActionContributionItem.handleWidgetSelection(ActionContributionItem.java:539)
 at org.eclipse.jface.action.ActionContributionItem.access$2(ActionContributionItem.java:488)
 at org.eclipse.jface.action.ActionContributionItem$5.handleEvent(ActionContributionItem.java:400)
 at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:66)
 at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:925)
 at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3348)
 at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:2968)
 at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:1914)
 at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:1878)
 at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:419)
 at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:143)
 at org.eclipse.ui.internal.ide.IDEApplication.run(IDEApplication.java:95)
 at org.eclipse.core.internal.runtime.PlatformActivator$1.run(PlatformActivator.java:78)
 at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:92)
 at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:68)
 at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:400)
 at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:177)
 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.invokeFramework(Main.java:336)
 at org.eclipse.core.launcher.Main.basicRun(Main.java:280)
 at org.eclipse.core.launcher.Main.run(Main.java:977)
 at org.eclipse.core.launcher.Main.main(Main.java:952)

原来是找不到类:org/eclipse/jdt/internal/ui/viewsupport/ListContentProvider,后来到 eclipse/plugins/org.eclipse.jdt.ui_3.2.0.v20060428-1300.jar 文件中查看,果然是缺少了 ListContentProvider 类文件,然后我到 google 按 org/eclipse/jdt/internal/ui/viewsupport/ListContentProvider 关键字查找,找到了 http://kickjava.com/src/org/eclipse/jdt/internal/ui/viewsupport/ListContentProvider.java.htm ,是 java 开放源码的网站,可以找到几乎所有的JAVA开源项目的源代码,这个连接就是 ListContentProvider 这个类的源文件,只要复制上面的代码,然后编译就行了(当然要包含 eclipse/plugins 下面的jar文件啦),然后把生成的 class 文件放到 eclipse/plugins/org.eclipse.jdt.ui_3.2.0.v20060428-1300.jar 这个jar文件的对应目录就行了.

OK,问题就这么简单.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值