2016-07-21 23 views
0
加載

有一些問題與DecisionTable的Excel文件的執行情況,如果我使用newClasspathResource加載的Excel文件,其中就好像我使用newFileResource與該文件的路徑它工作正常同一個文件。問題與Excel DecisionTable從newClasspathResource

唯一的例外是:

Caused by: org.drools.template.parser.DecisionTableParseException: An error occurred opening the workbook. It is possible that the encoding of the document did not match the encoding of the reader. 
at org.drools.decisiontable.parser.xls.ExcelParser.parseFile(ExcelParser.java:85) 
at org.drools.decisiontable.SpreadsheetCompiler.parseResource(SpreadsheetCompiler.java:126) 
at org.drools.decisiontable.SpreadsheetCompiler.getRuleSheetListener(SpreadsheetCompiler.java:185) 
at org.drools.decisiontable.SpreadsheetCompiler.compile(SpreadsheetCompiler.java:172) 
at org.drools.decisiontable.SpreadsheetCompiler.compile(SpreadsheetCompiler.java:167) 
at org.drools.decisiontable.DecisionTableProviderImpl.compileResource(DecisionTableProviderImpl.java:81) 
at org.drools.decisiontable.DecisionTableProviderImpl.loadFromResource(DecisionTableProviderImpl.java:44) 
at org.drools.compiler.compiler.DecisionTableFactory.loadFromResource(DecisionTableFactory.java:37) 
at org.drools.compiler.builder.impl.KnowledgeBuilderImpl.decisionTableToPackageDescr(KnowledgeBuilderImpl.java:404) 
at org.drools.compiler.builder.impl.KnowledgeBuilderImpl.addPackageFromDecisionTable(KnowledgeBuilderImpl.java:374) 
at org.drools.compiler.builder.impl.KnowledgeBuilderImpl.addKnowledgeResource(KnowledgeBuilderImpl.java:766) 
at org.drools.compiler.builder.impl.KnowledgeBuilderImpl.add(KnowledgeBuilderImpl.java:2249) 
Caused by: org.apache.poi.openxml4j.exceptions.InvalidFormatException: Your InputStream was neither an OLE2 stream, nor an OOXML stream 
at org.apache.poi.ss.usermodel.WorkbookFactory.create(WorkbookFactory.java:211) 
at org.apache.poi.ss.usermodel.WorkbookFactory.create(WorkbookFactory.java:168) 
at org.drools.decisiontable.parser.xls.ExcelParser.parseFile(ExcelParser.java:83) 
... 47 more 
+0

應指定在兩個呼叫的編碼。 – laune

回答

0

我想我找到了原因,爲什麼這是一個問題。其實我gradle這個版本,我是處理和過濾一些資源和意識到,XLS文件中的資源是爲好,正在通過它處理,並以某種方式,而在編譯構建路徑被改變。

我跳過這個文件通過構建通過這些過濾和處理,一切都很好。