3
我們在我們的項目中使用jasperreports 4.1.1,它工作正常,但最近我們已決定切換到xslt 2.0,並且我做了第一件事 - 我將xalan(沒有xslt 2.0實現)更改爲撒克遜。但是,第一份報告我運行把我的NoClassDefFoundError:如何將Jasmine報告從xalan切換到撒克遜?
java.lang.NoClassDefFoundError: org/apache/xpath/CachedXPathAPI
at net.sf.jasperreports.engine.util.xml.XalanXPathExecuter.<init>(XalanXPathExecuter.java:45)
at net.sf.jasperreports.engine.util.xml.XalanXPathExecuterFactory.getXPathExecuter(XalanXPathExecuterFactory.java:39)
at net.sf.jasperreports.engine.util.xml.JRXPathExecuterUtils.getXPathExecuter(JRXPathExecuterUtils.java:85)
at net.sf.jasperreports.engine.data.JRXmlDataSource.<init>(JRXmlDataSource.java:172)
at net.sf.jasperreports.engine.query.JRXPathQueryExecuter.createDatasource(JRXPathQueryExecuter.java:91)
我們沒有任何明確的結合xalan的,但jaspereports擁有此屬性:
# Apache Xalan XPath executers are used by default
net.sf.jasperreports.xpath.executer.factory=net.sf.jasperreports.engine.util.xml.XalanXPathExecuterFactory
我想,這家酒店的原因碧玉使用xalan,但我不明白我可以改變它:我看了包net.sf.jasperreports.engine.util.xml,我沒有發現任何與撒克遜有關的東西。 Jasper是否僅使用xalan xslt處理器?如果沒有,那麼如何改變它?