Java 8上的J2EE Mybatis webapp - java.lang.RuntimeException:XPathFactory #newInstance

时间:2015-07-01 00:36:07

标签: java spring xslt mybatis

我们的J2EE / Spring / Mybatis Web应用程序在Java 7(Centos)上已经运行了一段时间,但最近我们尝试将JVM更新为Java 8,现在我们在启动时获得以下堆栈跟踪:

java.lang.RuntimeException: XPathFactory#newInstance() 
 failed to create an XPathFactory for the default object model:
 http://java.sun.com/jaxp/xpath/dom with the XPathFactoryConfigurationException: javax.xml.xpath.XPathFactoryConfigurationException: 
 java.util.ServiceConfigurationError: javax.xml.xpath.XPathFactory:jar:file:/usr/local/tomcats
/test/webapps/tms/WEB-INF/lib/saxon-xpath-8.7.jar!/META-INF/services/javax.xml.xpath.XPathFactory:2: Illegal configuration-file syntax
    at javax.xml.xpath.XPathFactory.newInstance(XPathFactory.java:102)
    at org.apache.ibatis.parsing.XPathParser.commonConstructor(XPathParser.java:261)
    at org.apache.ibatis.parsing.XPathParser.<init>(XPathParser.java:121)
    at org.apache.ibatis.builder.xml.XMLMapperBuilder.<init>(XMLMapperBuilder.java:75)
    at org.apache.ibatis.builder.xml.XMLMapperBuilder.<init>(XMLMapperBuilder.java:70)
    at org.apache.ibatis.builder.annotation.MapperAnnotationBuilder.loadXmlResource(MapperAnnotationBuilder.java:158)
    at org.apache.ibatis.builder.annotation.MapperAnnotationBuilder.parse(MapperAnnotationBuilder.java:113)
    at org.apache.ibatis.binding.MapperRegistry.addMapper(MapperRegistry.java:66)
    at org.apache.ibatis.session.Configuration.addMapper(Configuration.java:651)
    at org.mybatis.spring.mapper.MapperFactoryBean.checkDaoConfig(MapperFactoryBean.java:97)

我们的Saxon9.jar版本= 9.1.0.8(最新)。

在我们的应用程序中解析xml / xslt时涉及许多不同的jar / dependencies,我不想尝试猜测通过反复试验做出哪些更改。有谁知道造成这种情况的原因,或者首先要去哪里?

1 个答案:

答案 0 :(得分:2)

here描述了这个问题。 如果您想将Saxon与Java 8一起使用,则需要将Saxon升级到版本&gt; = 9.5.1.5