您的位置:首页 > 编程语言 > Java开发

怎样纠正eclipse3.11安装JDT中文包后打不开class文件的问题

2006-01-20 12:15 399 查看
  在eclipse3.11安装JDT中文包后如果试图打开无源代码的class文件,缺省的应该打开类编辑器的缺省大纲浏览器,但eclipse却报错:如下:

由于发生内部错误而无法创建此部件。产生该故障的原因是:Unmatched braces in the pattern.

java.lang.IllegalArgumentException: Unmatched braces in the pattern.
 at java.text.MessageFormat.applyPattern(MessageFormat.java:471)
 at java.text.MessageFormat.<init>(MessageFormat.java:347)
 at java.text.MessageFormat.format(MessageFormat.java:812)
 at org.eclipse.jdt.internal.core.util.Messages.bind(Messages.java:361)
 at org.eclipse.jdt.internal.core.util.Messages.bind(Messages.java:327)
 at org.eclipse.jdt.internal.core.util.Disassembler.disassemble(Disassembler.java:600)
 at org.eclipse.jdt.internal.core.util.Disassembler.disassemble(Disassembler.java:462)
 at org.eclipse.jdt.internal.ui.javaeditor.ClassFileEditor$SourceAttachmentForm.updateCodeView(ClassFileEditor.java:400)
 at org.eclipse.jdt.internal.ui.javaeditor.ClassFileEditor$SourceAttachmentForm.createControl(ClassFileEditor.java:212)
 at org.eclipse.jdt.internal.ui.javaeditor.ClassFileEditor.verifyInput(ClassFileEditor.java:715)
 at org.eclipse.jdt.internal.ui.javaeditor.ClassFileEditor.createPartControl(ClassFileEditor.java:672)
 at org.eclipse.ui.internal.EditorReference.createPartHelper(EditorReference.java:609)
 at org.eclipse.ui.internal.EditorReference.createPart(EditorReference.java:384)
 at org.eclipse.ui.internal.WorkbenchPartReference.getPart(WorkbenchPartReference.java:552)
 at org.eclipse.ui.internal.EditorAreaHelper.setVisibleEditor(EditorAreaHelper.java:258)
 at org.eclipse.ui.internal.EditorManager.setVisibleEditor(EditorManager.java:1221)
 at org.eclipse.ui.internal.EditorManager$5.run(EditorManager.java:949)
 at org.eclipse.core.internal.runtime.InternalPlatform.run(InternalPlatform.java:1044)
 at org.eclipse.core.runtime.Platform.run(Platform.java:783)
 at org.eclipse.ui.internal.EditorManager.restoreState(EditorManager.java:944)
 at org.eclipse.ui.internal.WorkbenchPage.restoreState(WorkbenchPage.java:2576)
 at org.eclipse.ui.internal.WorkbenchWindow.restoreState(WorkbenchWindow.java:1819)
 at org.eclipse.ui.internal.Workbench.doRestoreState(Workbench.java:2566)
 at org.eclipse.ui.internal.Workbench.access$14(Workbench.java:2515)
 at org.eclipse.ui.internal.Workbench$19.run(Workbench.java:1514)
 at org.eclipse.ui.internal.Workbench$16.run(Workbench.java:1263)
 at org.eclipse.jface.operation.ModalContext.runInCurrentThread(ModalContext.java:346)
 at org.eclipse.jface.operation.ModalContext.run(ModalContext.java:291)
 at org.eclipse.jface.dialogs.ProgressMonitorDialog.run(ProgressMonitorDialog.java:447)
 at org.eclipse.ui.internal.Workbench.runStartupWithProgress(Workbench.java:1258)
 at org.eclipse.ui.internal.Workbench.restoreState(Workbench.java:1512)
 at org.eclipse.ui.internal.Workbench.access$12(Workbench.java:1491)
 at org.eclipse.ui.internal.Workbench$17.run(Workbench.java:1374)
 at org.eclipse.core.internal.runtime.InternalPlatform.run(InternalPlatform.java:1044)
 at org.eclipse.core.runtime.Platform.run(Platform.java:783)
 at org.eclipse.ui.internal.Workbench.restoreState(Workbench.java:1318)
 at org.eclipse.ui.internal.WorkbenchConfigurer.restoreState(WorkbenchConfigurer.java:183)
 at org.eclipse.ui.application.WorkbenchAdvisor.openWindows(WorkbenchAdvisor.java:700)
 at org.eclipse.ui.internal.Workbench.init(Workbench.java:1034)
 at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:1636)
 at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:367)
 at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:143)
 at org.eclipse.ui.internal.ide.IDEApplication.run(IDEApplication.java:103)
 at org.eclipse.core.internal.runtime.PlatformActivator$1.run(PlatformActivator.java:226)
 at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:376)
 at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:163)
 at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
 at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
 at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
 at java.lang.reflect.Method.invoke(Method.java:324)
 at org.eclipse.core.launcher.Main.invokeFramework(Main.java:334)
 at org.eclipse.core.launcher.Main.basicRun(Main.java:278)
 at org.eclipse.core.launcher.Main.run(Main.java:973)
 at org.eclipse.core.launcher.Main.main(Main.java:948)

这实际上是3.1.1JDT中文包的问题,问题出在org.eclipse.jdt.core.nl1_3.1.1.jar包的org/eclipse/jdt/internal/core/util/messages_zh.properties里的

disassembler_opentypedeclaration=/ /u201C{/u201D

这行有问题 / /u201C{/u201D 表示“{”;这无法由正则表达式规则解析。经查询其他的资源文件为:

disassembler_opentypedeclaration=/ '{'

把它在org/eclipse/jdt/internal/core/util/messages_zh.properties里改正过来就好了。

 

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息