Drools Guvnor规则编码
我在Excel中有一个Drools决策表,规则中使用的一些字符串有“Á”字符。当我从这个决策表在Guvnor中构建规则包时,我在规则源中得到了错误的字符 比如说, 在电子表格->雷亚德拉泽波 内置drl文件->�雷亚德拉泽|波尔 在这种情况下,有没有办法调整Guvnor以支持UTF-8?有没有人面临过类似的问题 谢谢Drools Guvnor规则编码,drools,business-rules,Drools,Business Rules,我在Excel中有一个Drools决策表,规则中使用的一些字符串有“Á”字符。当我从这个决策表在Guvnor中构建规则包时,我在规则源中得到了错误的字符 比如说, 在电子表格->雷亚德拉泽波 内置drl文件->�雷亚德拉泽|波尔 在这种情况下,有没有办法调整Guvnor以支持UTF-8?有没有人面临过类似的问题 谢谢 @杰弗里·德斯米特 嗨 我在ExcelParser.java中添加了以下代码: WorkbookSettings ws = new WorkbookSettings();
@杰弗里·德斯米特 嗨 我在ExcelParser.java中添加了以下代码:
WorkbookSettings ws = new WorkbookSettings();
ws.setEncoding("UTF-8");
Workbook workbook = Workbook.getWorkbook( inStream , ws);
我已经成功地从git hub构建了drools项目,但是当我尝试构建guvnor webapp来测试这一点时,无论是使用maven 2.2.1还是maven 3.0.3,我都会遇到相同的错误:
[错误]致命错误
[信息]------------------------------------------------------------------------
[信息]org/apache/commons/io/IOUtils
org.apache.commons.io.IOUtils
[信息]------------------------------------------------------------------------
[信息]跟踪
java.lang.NoClassDefFoundError:org/apache/commons/io/IOUtils
位于org.codehaus.mojo.gwt.AbstractGwtMojo.checkgwtuservision(AbstractGwtMojo.java:289)
位于org.codehaus.mojo.gwt.AbstractGwtMojo.getGwtUserJar(AbstractGwtMojo.java:251)
位于org.codehaus.mojo.gwt.shell.CompileMojo.compile(CompileMojo.java:268)
位于org.codehaus.mojo.gwt.shell.CompileMojo.doExecute(CompileMojo.java:255)
位于org.codehaus.mojo.gwt.shell.AbstractGwtShellMojo.execute(AbstractGwtShellMojo.java:119)
位于org.apache.maven.plugin.DefaultPluginManager.executeMojo(DefaultPluginManager.java:490)
位于org.apache.maven.lifecycle.DefaultLifecycleExecutor.ExecuteGals(DefaultLifecycleExecutor.java:694)
位于org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalWithLifecycle(DefaultLifecycleExecutor.java:556)
位于org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoal(DefaultLifecycleExecutor.java:535)
位于org.apache.maven.lifecycle.DefaultLifecycleExecutor.ExecuteGalandReadLifeures(DefaultLifecycleExecutor.java:387)
位于org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeTaskSegments(DefaultLifecycleExecutor.java:348)
位于org.apache.maven.lifecycle.DefaultLifecycleExecutor.execute(DefaultLifecycleExecutor.java:180)
在org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:328)
位于org.apache.maven.DefaultMaven.execute(DefaultMaven.java:138)
位于org.apache.maven.cli.MavenCli.main(MavenCli.java:362)
位于org.apache.maven.cli.compat.CompatibleMain.main(CompatibleMain.java:60)
在sun.reflect.NativeMethodAccessorImpl.invoke0(本机方法)处
位于sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
在sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)中
位于java.lang.reflect.Method.invoke(Method.java:597)
位于org.codehaus.classworlds.Launcher.launchEnhanced(Launcher.java:315)
位于org.codehaus.classworlds.Launcher.launch(Launcher.java:255)
位于org.codehaus.classworlds.Launcher.mainWithExitCode(Launcher.java:430)
位于org.codehaus.classworlds.Launcher.main(Launcher.java:375)
原因:java.lang.ClassNotFoundException:org.apache.commons.io.IOUtils
位于java.net.URLClassLoader$1.run(URLClassLoader.java:202)
位于java.security.AccessController.doPrivileged(本机方法)
位于java.net.URLClassLoader.findClass(URLClassLoader.java:190)
位于java.lang.ClassLoader.loadClass(ClassLoader.java:307)
位于org.codehaus.classworlds.RealmClassLoader.loadClassDirect(RealmClassLoader.java:195)
位于org.codehaus.classworlds.DefaultClassRealm.loadClass(DefaultClassRealm.java:255)
位于org.codehaus.classworlds.DefaultClassRealm.loadClass(DefaultClassRealm.java:274)
位于org.codehaus.classworlds.RealmClassLoader.loadClass(RealmClassLoader.java:214)
位于java.lang.ClassLoader.loadClass(ClassLoader.java:248)
在此方面的任何帮助都将不胜感激
谢谢大家!
另外,我已经阅读了,并按照描述进行了操作。仍然处于打开状态,不容易修复,因为excel文件编码因语言环境而异
一个已知的解决方法(由Amer Zec建议)是启动应用程序服务器,Guvnor在该服务器上运行
-Djxl.encoding=cp1252
(如果您是西欧人,则使用cp1252
)以外的其他编码).我已经创建了一个问题,您可以添加受此影响的版本吗?Guvnor版本:5.0.0.SNAPSHOT 25673您现在修复了此问题吗?@A.Cranker-我正在处理此问题。Drools使用JXL解析CSV和XSL表。阅读文档时,可以添加工作簿设置并指定编码。见下面我的帖子。。