在Jasper-Rails中找不到XPath2

时间:2013-05-15 15:55:26

标签: ruby-on-rails jasper-reports ireport

我是Rails的新手,但不是Java。我一直试图在https://github.com/fortesinformatica/jasper-rails测试jasper-rails项目并且该文档看起来很简单,但我发现它不那么简单。开发人员没有回答我的问题,所以我在这里问。

我使用iReport创建了我的报告(jasper-rails暗示有效),我将.jrxml文件放在app/views/jasper/index.jrxml中。当我加载localhost:3000/jasper.pdf时出现此错误:

  RuntimeError (net.sf.jasperreports.engine.JRException: org.xml.sax.SAXParseException;
   lineNumber: 8; columnNumber: 16; Error at line 8 char 16: No query executer factory
  registered for the 'xpath2' language.): app/controllers/jasper_controller.rb:7:in `index'

所以它似乎不知道如何处理xpath2。不幸的是,我在iReport版本中唯一的选择是xpath2。如果我在Rails输出中向上滚动,我会看到:

 java.lang.reflect.InvocationTargetException
 [....]
 Caused by: net.sf.jasperreports.engine.JRRuntimeException: No query executer factory     registered for the 'xpath2' language.
at net.sf.jasperreports.engine.util.JRQueryExecuterUtils.getExecuterFactory(JRQueryExecuterUtils.java:114)
at net.sf.jasperreports.engine.design.JRDesignDataset.queryLanguageChanged(JRDesignDataset.java:1152)
at net.sf.jasperreports.engine.design.JRDesignDataset.setQuery(JRDesignDataset.java:630)
at net.sf.jasperreports.engine.design.JasperDesign.setQuery(JasperDesign.java:791)

所以似乎JasperReports需要为xpath2配置一些东西。

我已将jasper-rails使用的罐子替换为ireport/modules/ext中的罐子,但我得到的答案相同。所以,不知何故,我必须告诉jasper-rails我的xpath2。但是怎么样?或者旧版iReport会更好用吗?有人有这个工作吗?

1 个答案:

答案 0 :(得分:0)

JasperRails使用xpath而不是xPath2