1 回答
TA贡献1793条经验 获得超6个赞
有什么想法,不兼容从何而来?
不兼容性来自项目中的依赖项:
<dependency>
<groupId>net.sf.saxon</groupId>
<artifactId>Saxon-HE</artifactId>
<version>9.5.1-1</version>
</dependency>
Saxon-HE-9.5.1-1.jar 包含一个服务 /META-INF/services/javax.xml.xpath.XPathFactory,其中包含非法包含空格的行:
net.sf.saxon.xpath.XPathFactoryImpl
http\://java.sun.com/jaxp/xpath/dom: net.sf.saxon.xpath.XPathFactoryImpl
http\://saxon.sf.net/jaxp/xpath/om: net.sf.saxon.xpath.XPathFactoryImpl
这在javax.xml.xpath.ServiceLoader.parseLine方法中失败:
....
if ((ln.indexOf(' ') >= 0) || (ln.indexOf('\t') >= 0))
fail(service, u, lc, "Illegal configuration-file syntax");
....
尝试升级您的 Saxon-HE 版本,因为9.5.1-1 相当旧(2013 年)并且似乎与 Java 8+ 不兼容。
版本 9.5.1-5 是第一个修复此错误的版本。
The following bugs are cleared in 9.5.1.5, issued 2014-03-25
...
1944 Illegal configuration-file syntax in META-INF/services/javax.xml.xpath.XPathFactory
添加回答
举报