0

我正在尝试将一些为 Java 6 开发的 Web 服务代码更新到 Java 8。这些模块使用 maven cxf-codegen-plugin。Java 6 版本使用 cxf 版本 2.2.2。通过将 cxf 更新到 2.7.9,我能够使其与 Java 7 一起使用,但无法在 Java 8 下构建。我尝试将 cxf 更新到 3.0.3,但仍然出现此错误:

XPathFactory#newInstance() 无法为默认对象模型创建 XPathFactory:http: //java.sum.com/jaxp/xpath/dom与 XPathFactoryConfigurationException:javax.xml.xpath.XPathFactoryConfigurationException:java.xml.xpath.XPathFactory : jar:file:/c:/Documents%20and%20Settings/Kevin/.m2/repository/saxon/saxon-xpath/8.9.0.3/saxon-xpath-8.9.0.3.jar!META-INF/services/javax。 xml.xpath.XPathFactory:2:非法配置文件语法

我正在使用 jdk 1.8.0_31、maven 3.0.3 和 cxf 3.0.3。

4

1 回答 1

2

问题来自不兼容的撒克逊人版本。它可以通过向 Maven 插件的类路径添加一个固定版本(作为依赖项)来轻松解决:

            <plugin>
            <groupId>org.apache.cxf</groupId>
            <artifactId>cxf-codegen-plugin</artifactId>
            <version>${cxf-version}</version>
            <dependencies>
                <dependency>
                    <groupId>org.daisy.libs</groupId>
                    <artifactId>saxon-he</artifactId>
                    <version>9.5.1.5</version>
                </dependency>
            </dependencies>
            <executions>
于 2015-05-11T07:41:31.707 回答