Гувнор правила кодирования - PullRequest
2 голосов
/ 14 марта 2011

У меня есть таблица решений Drools в Excel, и некоторые строки, используемые в правилах, имеют символы "Á".Когда я строю пакет правил в Guvnor из этой таблицы решений, я получаю неправильные символы в источнике правил.

Например,

в электронной таблице -> Область Лазера | POR,

во встроенном файле drl -> derea de Lazer | POR

Есть ли способ настроить Guvnor для поддержки UTF-8 в этом случае?Кто-нибудь сталкивался с подобной проблемой?

Спасибо


@ Джеффри Де Смет

Привет,

Я добавил следующий код в 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, я получаю ту же ошибку:

[ОШИБКА] ФАТАЛЬНАЯ ОШИБКА [ИНФО] ------------------------------------------------------------------------ [INFO] org / apache / commons / io /IOUtils org.apache.commons.io.IOUtils [ИНФО] ------------------------------------------------------------------------ [INFO] Trace java.lang.NoClassDefFoundError: org / apache / commons/ io / IOUtils в org.codehaus.mojo.gwt.AbstractGwtMojo.checkGwtUserVersion (AbstractGwtMojo.java:289) в org.codehaus.mojo.gwt.AbstractGwtMojo.getGwtUserJar (AbstractGwj.g.g.g1.gt.gw.g.gt.gw.g.gt).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.jav.4):«.выполнить (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.NativeMetholAccessor.invoke (NativeMethodAccessorImpl.java:39) в sun.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:25) в java.lang.reflect.Method.invoke (method.java:597).(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 at 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) at java.lang.ClassLoader.loadClass (ClassLoader.java:248)

Любая помощь по этому вопросу будет оценена!

Спасибо!

P.S. Я прочитал README документ и действовал, как описано.

1 Ответ

2 голосов
/ 01 апреля 2011

Проблема по-прежнему открыта, и ее нелегко исправить, поскольку кодировка файла excel отличается от локали к локали.

Один известный обходной путь (предложенный Amer Zec) - запустить сервер приложений.на котором Guvnor работает с -Djxl.encoding=cp1252 (если вы западноевропейский, используйте другую кодировку, отличную от cp1252).

...