我在Excel中有一个Drools决策表,规则中使用的一些字符串具有“”字符。当我从这个决策表生成Guvnor中的规则包时,我在规则源中得到了错误的字符。
例如,
在电子表格-> de Lazer_POR中,
在已构建的drl文件中,->�rea de Lazer_POR
在这种情况下,是否有任何方式可以调优以支持UTF-8?有没有人遇到过类似的问题?
谢谢
@Geoffrey De Smet
嗨,
我在ExcelParser.java中添加了以下代码:
WorkbookSettings ws = new WorkbookSettings();
ws.setEncoding("UTF-8");
Workbook workbook = Workbook.getWorkbook( inStream , ws);我已经成功地从git-集线器构建了drools项目,但是当我尝试构建guvnor来测试这个项目时,无论是使用maven 2.2.1还是使用maven 3.0.3,我都会得到相同的错误:
错误致命错误信息org/apache/commons/io/IOUtils org.apache.commons.io.IOUtils INFO??信息跟踪java.lang.NoClassDefFoundError: org/apache/commons/io/IOUtils at org.codehaus.mojo.gwt.AbstractGwtMojo.checkGwtUserVersion(AbstractGwtMojo.java:289) at org.codehaus.mojo.gwt.AbstractGwtMojo.getGwtUserJar(AbstractGwtMojo.java:251)在org.codehaus.mojo.gwt.shell.CompileMojo.compile(CompileMojo.java:268) at org.codehaus.mojo.gwt.shell.CompileMojo.doExecute(CompileMojo.java:255) at org.codehaus.mojo.gwt.shell.AbstractGwtShellMojo.execute(AbstractGwtShellMojo.java:119) at org.apache.maven.plugin.DefaultPluginManager.executeMojo(DefaultPluginManager.java:490) at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(DefaultLifecycleExecutor( org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalWithLifecycle(DefaultLifecycleExecutor.java:556) at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoal(DefaultLifecycleExecutor.java:535) at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalAndHandleFailures(DefaultLifecycleExecutor.java:387) at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeTaskSegments(DefaultLifecycleExecutor.java:348) at org.apache.maven.lifecycle.DefaultLifecycleExecutor.execute(DefaultLifecycleExecutor )( org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:328) at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:138) at org.apache.maven.cli.MavenCli.main(MavenCli.java:362) at org.apache.maven.cli.compat.CompatibleMain.main(CompatibleMain.java:60) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)在sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at org.codehaus.classworlds.Launcher.launchEnhanced(Launcher.java:315) at org.codehaus.classworlds.Launcher.launch(Launcher.java:255) at org.codehaus.classworlds.Launcher.mainWithExitCode(Launcher.由: org.codehaus.classworlds.Launcher.main(Launcher.java:375)引起的: java.lang.ClassNotFoundException: org.apache.commons.io.IOUtils at java.net.URLClassLoader$1.run(URLClassLoader.java:202) at java.security.AccessController.doPrivileged(Native Method)在java.net.URLClassLoader.findClass(URLClassLoader.java:190) at java.lang.ClassLoader.loadClass(ClassLoader.java:在org.codehaus.classworlds.RealmClassLoader.loadClassDirect(RealmClassLoader.java:195) at org.codehaus.classworlds.DefaultClassRealm.loadClass(DefaultClassRealm.java:255) at org.codehaus.classworlds.DefaultClassRealm.loadClass(DefaultClassRealm.java:274) at org.codehaus.classworlds.RealmClassLoader.loadClass(RealmClassLoader.java:214) at java.lang.ClassLoader.loadClass(ClassLoader.java:248)
在这方面的任何帮助都将不胜感激!
谢谢!
P.S.我读过自述文件,并按描述继续进行。
发布于 2011-04-01 09:30:42
问题仍然是打开的,并且不容易修复,因为excel文件编码因地区不同而不同。
一种已知的解决方法(由Amer建议)是启动应用服务器,在该应用服务器上运行-Djxl.encoding=cp1252 (如果您是西欧人,则使用cp1252以外的另一种编码)。
https://stackoverflow.com/questions/5298748
复制相似问题