`
starbhhc
  • 浏览: 631594 次
  • 性别: Icon_minigender_2
  • 来自: 深圳
社区版块
存档分类
最新评论

jbpm中文乱码问题解决方法

    博客分类:
  • java
阅读更多
例子一: jbpm流程图引擎是在processdefinition.xml的diagram界面中中拖拽控件,再在source界面中写入约束条件,jpdl的插件会同步在gpd.xml中写入控件的位置、name等属性,当用中文命名processdefinition.xml中的控件时,在
内容源自互联网,AJava.org整理。

例子一:

jbpm流程图引擎是在processdefinition.xml的diagram界面中中拖拽控件,再在source界面中写入约束条件,jpdl的插件会同步在gpd.xml中写入控件的位置、name等属性,当用中文命名processdefinition.xml中的控件时,在gpd.xml中的对应控件的name属性都是乱码

关于这个问题,思索许久,一直未果
以下是我的修改过程,基本无用,试了没用,贴出来供大家参考一下
1在eclipse的project->text file encoding的other改为utf-8
2window->preferences->General->content types右边选项卡的所有后缀名的Default encoding都改成了utf-8
gpd.xml还是出现乱码
(即eclipse的编译器中)
3在eclipse导入的jbpm插件中修改生成gpd.xml的方法,如下
根据这个链接
http://jira.jboss.org/jira/browse/GPD-184
gpd.xml中字符问题确实是一个bug,还没解决,又按照http://jira.jboss.org/jira/secure /attachment/12317041/gpd-184.diff的说明,把D:\silitan\Eclipse SDK 3.3.1\eclipse\plugins\org.jbpm.gd.jpdl_3.1.0.SP1下的ui.jar解压,用cavaj反编译
ui.jar中org\jbpm\gd\jpdl\editor文件下的JpdlContentProvider.class,把文件流改为 utf-8,再生成.class文件,覆盖此文件,还是不行,有人说可能是我用的jdk与jboss生成ui.jar中的jdk不符合,需要各个版本的 jdk试一遍,又曰如果加了数字签名,反编译再修改回去也行不通 实在是头疼,伤脑筋,只好手动把把gpd.xml的乱码改为中文时,再deploy了
并不是乱码就不能deploy了,只是deploy以后不能在图片中得到当前节点,jbpm-console会提示Error getting diagram info: An exception of type "org.jbpm.util.XmlException" was thrown. The message is: couldn't parse xml;查看myeclipse下的tomcat的控制台
Error] :4:15: Invalid byte 1 of 1-byte UTF-8 sequence.


网上有些例子是用中文命名的,运行起来没有问题,不知道这些大侠是怎么实现的,i'm wondering!

例子二:
刚开始接到是做一个简单的文档借阅流程,对于流程定义是采用eclipse中的jbpm插件,但存在一个问题是节点中文命名的在gpd.xml中全部为乱码或根本看不到任何东西。
但是网上有人说没关系,这只是eclipse本身存在的一个bug,在项目所在硬盘目录下打开该文件还是显示正常的,所以发布后并不会导致问题的存在,也就没有再去解决这个问题。
最近在群里有朋友说,修改eclipse安装跟目录下的eclipse.ini文件,在其中添加:
-Dfile.encoding=UTF-8
如我添加后为:

-showsplash
org.eclipse.platform
--launcher.XXMaxPermSize
256M
-vmargs
-Dosgi.requiredJavaVersion=1.5
-Xms40m
-Xmx512m
-Dfile.encoding=UTF-8

再次启动eclipse,重新建一个流程定义,打开gpd.xml文件居然没问题。

可双击桌面的快捷方式图标,重新建一个流程定义,还是存在中文无法正常显示问题。右击桌面的图标——属性——目标:

在这里也添加一句:-Dfile.encoding=UTF-8

如我的电脑上的就是:

"C:\Program Files\eclipse\eclipse.exe" -vmargs -Xms128M -Xmx256M -XX:PermSize=64M -XX:MaxPermSize=256M -Dfile.encoding=UTF-8

再重启然后新建一个居然ok了。

有一点提示:我的整个项目编码也是UTF-8的。

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics