2011-03-14 65 views
1

我在Excel中有一個Drools決策表,並且規則中使用的一些字符串有「Á」字符。當我從Guvnor的決策表中構建規則包時,我在規則源中得到錯誤的字符。Guvnor規則編碼

例如,

在電子表格 - >區域去拉澤| POR,

內置DRL文件

- >意圖去拉澤| POR

有沒有什麼辦法的Guvnor可以調到在這種情況下支持UTF-8?有沒有人遇到類似的問題?

感謝


@Geoffrey迪斯

嗨,

我加入以下代碼ExcelParser.java:

WorkbookSettings ws = new WorkbookSettings(); 
     ws.setEncoding("UTF-8"); 
     Workbook workbook = Workbook.getWorkbook(inStream , ws); 

我已經成功地構建Drools項目從git-hub,但是當我嘗試構建guvnor-webapp來測試它時,無論是使用maven 2.2 .1或maven 3.0.3,我得到相同的錯誤:

[ERROR] FATAL ERROR [INFO] ------------------------------------------------------------------------ [INFO] org/apache/commons/io/IOUtils org.apache.commons.io.IOUtils [INFO] ------------------------------------------------------------------------ [INFO] Trace 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) at 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.java:694) at 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.java:180) at 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) at 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.java:430) at org.codehaus.classworlds.Launcher.main(Launcher.java:375) Caused by: java.lang.ClassNotFoundException: org.apache.commons.io.IOUtils at java.net.URLClassLoader$1.run(URLClassLoader.java:202) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:190) at java.lang.ClassLoader.loadClass(ClassLoader.java:307) at 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.我已閱讀README document,並按所述進行操作。

+0

我創建了一個問題https://issues.jboss.org/browse/GUVNOR-1250你可以添加一個你受此影響的版本嗎? – 2011-03-14 13:51:20

+0

Guvnor版本:5.0.0.SNAPSHOT 25673M – Zec 2011-03-14 16:03:37

+0

你現在是否解決了這個問題? – 2011-03-16 14:41:46

回答

2

The issue仍然打開並且不容易修復,因爲excel文件編碼不同於區域設置與區域設置。

一個已知的解決方法(由阿米爾ZEC建議)是啓動上的Guvnor與-Djxl.encoding=cp1252運行應用服務器(如果你是西歐,否則使用另一種編碼比cp1252)。