- 浏览: 365540 次
- 性别:
- 来自: 长沙
文章分类
- 全部博客 (186)
- J2EE (46)
- spring (4)
- Applet (7)
- 网页前端 (10)
- 生活与工作 (55)
- 开放的世界 (10)
- linux (16)
- j2me (2)
- android (5)
- ExtJS (1)
- 架构师与设计 (7)
- 开发平台 (2)
- Eclipse (4)
- 教育 (0)
- 数据库 (9)
- English (1)
- Jetty (2)
- 未分类 (1)
- 工具 (2)
- flex (2)
- synchronized (1)
- maven (2)
- command (0)
- shell (1)
- web (1)
- qq (3)
- wine (3)
- chrome (1)
- extensions (1)
- plugin (1)
- 插件 (1)
- ssh (1)
- 内网 (1)
- J2EE excel (1)
- ubuntu (4)
- storm (2)
- hadoop (1)
最新评论
-
skzr.org:
jdbc:mysql://localhost:3306/?us ...
storm topology all in one spring文件合并 -
chenghong726:
你好,我用你这个方法,上传文件72M一直卡在 mapper.s ...
超大excel读取 43万记录 26M文件 -
海hai:
您好我对这篇文章很敢兴趣可以和你请教下吗?我qq9034418 ...
淘宝top自动授权页面,方便大家调试top应用 -
skzr.org:
首先感谢你的关注:)yaerfeng1989 写道最代码上有更 ...
[MAVEN]web工程的调试 -
skzr.org:
最新消息2013-12-17:腾讯再次弹出消息,我的QQ201 ...
ubuntu 12.04安装QQ2012
今天本来打算察看jdk把foreach转换为什么样子的字节码,发现无法正确打开class文件!出现如图错误
明明记得以前是可以正确打开class文件的!(没有安装任何反编译class的插件的)
1 翻译JDK问题:和以前的差别只是jdk从1.5切换到了现在的1.6了,看提示是MessageFormat.applyPattern有错,难道jdk1.6修改了这个导致不匹配了!切换到了1.5的jdk,打开后依然错误。当时我认为可能是jdk代码修改了,分别打开他们了的源代码,然后查看发现两者并无特别的差异,排除jdk故障!
2 怀疑是安装了插件导致:重新使用原始的eclipse3.3的包再次测试,竟然一切正常!晕,看样子可以确认是安装了插件导致的!到底是什么插件呢 :(
仔细看错误的异常堆栈,发现全部都是eclipse的专用类,故开始跟踪代码,从里向外走
a java.text.MessageFormat.applyPattern(MessageFormat.java:468)——〉throw new IllegalArgumentException("Unmatched braces in the pattern.");
异常是参数错误导致的,也就是这个pattern错误,继续跟踪代码发现这个pattern在
b org.eclipse.jdt.internal.core.util.Disassembler.disassemble(Disassembler.java:883)
--〉buffer.append(Messages.bind(Messages.disassembler_opentypedeclaration));
是的传递给MessageFormat.applyPattern的pattern就是Messages.disassembler_opentypedeclaration;故猜测错误就在这个Messages.disassembler_opentypedeclaration有问题
c 察看Messages类 发现BUNDLE_NAME = "org.eclipse.jdt.internal.core.util.messages";同时回忆自己安装了汉化包,说明一定是汉化包里面的资源文件有问题,打开message.properties后找到配置disassembler_opentypedeclaration =\ '{';然后打开汉化包:org.eclipse.jdt.core.nl_zh_3.3.0.v20081123043401.jar里面对应的资源文件查看发现:他们确实不一样如图修改
使用rar把修改后的文件替换原来的(使用的是MyEclipse的属性编辑器)
d 新的问题:满怀希望打开eclipse竟然出现了新问题,如图:
E试验 禁用语言包打开eclipse,然后打开class文件查看结果如图对比他们的差异
第一行://disassembler_fieldhasconstant = =编译自disassembler_enclosingmethodheader = 外层方法:TestLoop.java (版本 1.5:49.0,超级位)
正确的为:// Compiled from TestLoop.java (version 1.5 : 49.0, super bit)
确认:disassembler_fieldhasconstant和disassembler_enclosingmethodheader 未正确解析
对比两个资源文件得到结论:disassembler_begincommentline=//disassembler_fieldhasconstant \= \=
未正确拆分为两行导致的,修改为:
disassembler_begincommentline = //\
disassembler_fieldhasconstant =\ =\
启用汉化插件,重新打开eclipse察看class,确实有改变了,故此发现故障出现地方!
不断地修改message即可完全解决问题,解决问题后的messages_zh文件为:messages_zh.properties
至此问题彻底解决(我把一些他们没有翻译为中文的配置都干掉了 ^ ^)
经验:
1 发布的东西不见得没有bug, ^ ^
2 英文要学好,E文不好就不去汇报bug了
3 调试功底需要不断的摸索才可以提高!
可能有人说无法察看源代码,那就需要rcp开发版了,我的环境是eclipse-rcp 3.3版本的!故可以查看eclipse的源代码!
直接建立eclipse插件项目,然后把jdt包引入,通过查找java类就可以快速定位源代码了
^ ^
2009-02-14
java.lang.IllegalArgumentException: Unmatched braces in the pattern.
at java.text.MessageFormat.applyPattern(MessageFormat.java:476)
at java.text.MessageFormat.<init>(MessageFormat.java:350)
at java.text.MessageFormat.format(MessageFormat.java:811)
at org.eclipse.jdt.internal.core.util.Messages.bind(Messages.java:384)
at org.eclipse.jdt.internal.core.util.Messages.bind(Messages.java:350)
at org.eclipse.jdt.internal.core.util.Disassembler.disassemble(Disassembler.java:932)
at org.eclipse.jdt.internal.core.util.Disassembler.disassemble(Disassembler.java:290)
1 创建RCP项目,添加org.eclipse.jdt.core依赖
2 打开文件org.eclipse.jdt.internal.core.util.Disassembler 第932行
然后快速定位到资源文件org.eclipse.jdt.internal.core.util.messages
打开语言包文件
\eclipse-rcp-ganymede-SR1-win32\eclipse\plugins\org.eclipse.jdt.core.nl_zh_3.4.0.v20090208043401.jar
解压messages_zh.properties文件
根据上次的解决(空格被错误翻译了,空格为"\ "翻译后变成了"\"成了续行符号了)搜索"\\$"替换为"\ "就可以解决这个问题了!
还有个别的再改改基本就可以正确了
修改后的文件properties_zh.properties
2009-02-16
今天我发现了语言包依然有问题,原来在English版本下可以使用的到中文下无法正常使用了!具体是:JInto的快速提示如果选中的话,导致快速提示失败,如果不选中又发现快速提示中的文字出现了乱码,具体是函数的返回值描述部分 符号":"变成了\xU123,具体不太清楚了,反正感觉就是这个message有问题导致了eclipse运行有问题。
现在发现了问题,也明白了为什么开源需要大家参与,如果我们不去修复这些问题,那么后来人就会对软件失去信心,或者对软件形成错误的认识(eclipse本身就无法实现这个功能),国内使用中文的需求还是比较大的,如果我们不贡献力量,对于国内软件的发展确实存在小小的影响,开源的意义还是很重要的!而且非常重要!^ ^
又发现了一个bug:有6个国际化文件的中文化有问题,表现在":"被错误转化了多了一个"\"变成了两个"\\"导致错误国际化了,解决办法:使用rar搜索*.properties文件中的\\u????(具体不记得了),然后再修复错误即可^ ^
- messages_zh.zip (6.6 KB)
- 下载次数: 224
- messages_zh.zip (6.4 KB)
- 下载次数: 107
评论
java.lang.IllegalArgumentException: Unmatched braces in the pattern.
at java.text.MessageFormat.applyPattern(MessageFormat.java:476)
at java.text.MessageFormat.<init>(MessageFormat.java:350)
at java.text.MessageFormat.format(MessageFormat.java:811)
at org.eclipse.jdt.internal.core.util.Messages.bind(Messages.java:384)
at org.eclipse.jdt.internal.core.util.Messages.bind(Messages.java:350)
at org.eclipse.jdt.internal.core.util.Disassembler.disassemble(Disassembler.java:932)
at org.eclipse.jdt.internal.core.util.Disassembler.disassemble(Disassembler.java:290)
1 创建RCP项目,添加org.eclipse.jdt.core依赖
2 打开文件org.eclipse.jdt.internal.core.util.Disassembler 第932行
然后快速定位到资源文件org.eclipse.jdt.internal.core.util.messages
打开语言包文件
\eclipse-rcp-ganymede-SR1-win32\eclipse\plugins\org.eclipse.jdt.core.nl_zh_3.4.0.v20090208043401.jar
解压messages_zh.properties文件
根据上次的解决(空格被错误翻译了,空格为"\ "翻译后变成了"\"成了续行符号了)搜索"\\$"替换为"\ "就可以解决这个问题了!
还有个别的再改改基本就可以正确了
所以汉化还是需要的!自从3.3后国际化幸亏有宝贝项目来保证!
发表评论
-
答复: 再谈一个关于final的不一致编译的低级错误
2012-09-25 09:13 1077tlde_ti 写道 我是觉得连依赖管理工具都不用的项目实在 ... -
[MAVEN]web工程的调试
2011-12-18 21:48 4106接上篇:[MAVEN]maven最佳实践 mav ... -
[jetty]jetty学习
2011-12-27 16:19 2535Jetty源码学习 图源码:jetty.dia ... -
[jetty]start.jar启动
2011-12-27 16:16 2747概图 关键点 org.eclipse.jetty ... -
在java中怎样执行系统命令?
2011-12-05 00:12 0linux比较容易实现,windows下问题千奇百怪。 ... -
[MAVEN]maven最佳实践
2011-12-06 11:00 2234参考资料: 官方:http://maven.ap ... -
java点滴
2011-11-25 00:18 0main静态方法调用: 意思的在method ... -
[java]synchronized我的理解
2011-11-18 21:56 1816多线程、同步、锁,搞 ... -
tomcat攻略
2011-07-23 10:51 6885以下是常见的tomcat配置和问题 以下总结来自实践(OS: ... -
[web工程]Struts2+Spring3.1+Hibernate3.6的集成
2011-05-20 00:32 2020背景:如果选择struts2+Spring+Hibernate ... -
[web工程]集成struts2 mvc
2011-05-20 00:30 2165返回:[web工程]Struts2+Spring3 ... -
[web工程]集成hibernate
2011-05-20 00:28 1472返回:[web工程]Struts2+Spring3.1+ ... -
[web工程]创建web工程
2011-05-19 21:30 1964返回:[web工程]Struts2+Spring3.1+Hib ... -
[分享][Hibernate]公用DAO
2011-05-15 23:27 1968通过Hibernate的元信息处理组件等等,利用spring封 ... -
[经验][hibernate][自定义类型]hibernate 3.6.3中自定义类型,json类型
2011-05-14 12:05 1452首先感谢您百忙之中的阅读 :) 下面进入正题 在3. ... -
hibernate和jdbc加载对象性能
2011-05-03 21:49 1985skzr.org 写道 core2 P8400 ... -
java远程调用通讯协议比较
2011-04-12 16:11 1525我的测试: 环境: 使用spring做为粘合剂 ... -
svn经验
2011-03-30 12:55 1429一下内容摘录自自己的wiki,所以链接可能有问题! 目录 ... -
完善包注释[javadoc package-info.java]
2011-03-27 14:03 6474包级注释 说明: 包级注释,有时候是非常有用的,可以清晰的 ... -
Tomcat7新特性?cookie HttpOnly的那些事(sessionid获取麻烦了)
2011-03-26 10:46 13207环境: tomcat6和tomcat7, ...
相关推荐
"eclipse3.3.X版本中文语言包"就是为了解决这个问题而存在的,它提供了Eclipse的中文本地化支持,使得用户可以更方便地理解和操作Eclipse的各项功能。 这个中文语言包适用于Eclipse 3.3.x系列版本。在Eclipse的历史...
对于中国用户来说,Eclipse3.4中文语言包的出现极大地改善了用户体验,使得界面和文档完全本地化,方便了中文用户的操作。 汉化包的使用通常涉及以下几个步骤: 1. **下载汉化包**:首先,你需要从可靠来源下载...
通过这个"eclipse3.3-3.4中文包.rar"文件,用户可以获得Eclipse 3.3和3.4的中文界面和文档,便于中国用户更好地理解和使用。而"BIRT中文说明.rar"则提供了关于BIRT的中文指南,帮助开发者快速掌握BIRT报表设计和实现...
在Eclipse3.3中,"中文语言包"是一个至关重要的组件,尤其是对于中国用户来说,它使得界面完全汉化,使得那些不熟悉英文的开发者能够更轻松地理解和操作Eclipse。这个语言包包括了所有菜单、工具栏、对话框和帮助...
eclipse 多国语言包 使用方法: (1)先关掉Eclipse (2)将语言包解压缩,并给这个目录取个名,例如取名为language。 (3)将此目录复制到Eclipse的安装目录下,注意,language目录下有一个eclipse子...
Eclipse官方在3.3版本之后,不再直接提供官方的中文语言包,而是委托给第三方组织进行维护和更新。这意味着,用户需要从非官方渠道获取这些语言资源,这往往涉及到下载多个组件和插件。 这个压缩包文件包含了所有...
Eclipse 是一个著名的开源集成开发环境(IDE),广泛用于Java应用程序的开发,但它也支持其他编程语言通过安装相应的插件。在Eclipse中,Subversion(SVN)插件是开发者进行版本控制的重要工具,它使得用户能够方便...
"Eclipse3.4语言包.ZIP"是一个为Eclipse 3.4版本准备的本地化语言包,它包含了各种语言的翻译,使得用户可以根据自己的需求将Eclipse的工作界面调整为熟悉的语言,比如中文、英文、法文等。 Eclipse 3.4,也被称为...
2. 将插件包内的`features`和`plugins`目录下的所有文件拷贝到Eclipse的`features`和`plugins`目录下。 **注意事项**:这种方法安装的插件不可逆,即无法轻松卸载,不便于插件的管理和更新。 ##### 非侵入式安装 ...
【正文】 本篇文章将详细介绍如何在Windows XP SP2环境下...需要注意的是,随着技术的发展,这些工具和框架的更新迭代非常快,现在的最新版本可能已经远超6.0和3.3,建议使用更现代的版本以获取更好的性能和特性支持。
Eclipse 3.3中文包是一款专为Eclipse 3.3版本设计的语言本地化工具,旨在为用户提供简体中文的界面,使中国用户在使用Eclipse开发环境时能够更加便捷地理解和操作各项功能。Eclipse作为一个开源的集成开发环境(IDE...
Eclipse3.3简体中文安装包是一款专为开发者设计的集成开发环境(IDE)的中文语言包,它使得原本英文界面的Eclipse3.3版本变得更加友好,方便了中文用户进行软件开发工作。Eclipse作为一款开源的、跨平台的开发工具,...
#eclipse-jee-ganymede-SR2-win32 #官方最新中文语言包 #将文件解压到eclipse安装目录 更新日期: v20090308043402
### 配置Eclipse 3.3 + Tomcat 6.0 + Lomboz 3.3 进行Web开发 #### 一、Eclipse 3.3 的选择与安装 **Eclipse 3.3 (Europa)**是Eclipse在2007年发布的一个重要版本,该版本在功能和性能上都有显著提升。对于Web开发...
标题 "Eclipse 3.3 中文PERL插件" 提到的是在Eclipse集成开发环境中安装和使用PERL语言的扩展插件。Eclipse是一款广泛使用的开源Java IDE,但通过插件支持,它也可以用于其他编程语言如PERL。在Eclipse 3.3版本中,...
在Eclipse 3.3中,最重要的一项更新是引入了“Europa”计划,这是一个多语言平台的整合,将多个Eclipse项目组合在一个统一的发行版中。这个版本包含了对Java开发、Web开发、软件模型驱动工程(MDA)等多个领域的增强...
- **多语言支持**:Eclipse一直致力于提供多语言界面,3.3版的中文包正是为了满足中国开发者的需求,使他们能够在熟悉的语言环境下进行开发工作。 - **插件改进**:Eclipse 3.3对插件系统进行了升级,使得插件之间...
Jadclipse是一款针对Eclipse集成开发环境的反编译插件,尤其在你提到的Eclipse 3.3版本中,它提供了对Java字节码进行反编译的功能。这款插件使得开发者能够查看并理解已编译的Java类文件的源代码,即便原始的源代码...