无法创建类javax.xml.validation.SchemaFactory的提供程序(javax.xml.valid



我正试图为一个实现Jax ws 2.0的现有系统从Java 7迁移到Java 8。构建和部署过程使用Ant任务(apt、wsgen、wsimport)从java注释的服务端点接口生成wsdl和库,并从生成的wsdl准备客户端库。在Java–7之前,它可以正常工作。但当我尝试使用jdk-8进行构建时,在使用jax-ws库和上面提到的ant任务时遇到了问题。我已经将JAX-WS库升级到JAX-WS RI–2.2.8和JAX-WS 2.2.10,在使用ant任务wsgen生成WSDL和模式之前,它们一直有效,但我仍然无法解决使用wsimport从生成的WSDL生成客户端库的问题。我得到以下错误

javax.xml.validation.SchemaFactoryConfiguration错误:无法创建类javax.xml.validation.ShemaFactory的提供程序

我的wsgen和wsimport脚本如下:

<taskdef name="wsgen" classname="com.sun.tools.ws.ant.WsGen">
        <classpath refid="project.classpath"/>
</taskdef>
<wsgen resourcedestdir="${smruti.wsdl.dir}"
        sei="com.smruti.webservice.SmrutiWebService"
        keep="true"
        sourcedestdir="${smruti.wsdl.dir}src"
        destdir="${build.dir}"
        genwsdl="true">
        <classpath>
            <path refid="project.classpath"/>
            <pathelement location="${build.dir}"/>
        </classpath>
</wsgen> 
<taskdef name="wsimport" classname="com.sun.tools.ws.ant.WsImport">
            <classpath refid="project.classpath" />
        </taskdef>
<wsimport sourcedestdir="${generated.dir}/src" destdir="${build.dir}" wsdl="${wsdl.location}"  keep="true" extension="true" package="com.smruti.webservice.client"/>

注意:我使用的是jdk 8、ant-1.9.4、jax-wsri-2.2.10 libs。

作为解决方案,我能够通过使用jdk提供的wsimport.exe而不是ant任务来解决上述问题。以下是相同的脚本。。

<exec executable="C:Program FilesJavajdk1.8.0_40binwsimport.exe">
        <arg line="${wsdl.location} -s ${generated.dir}/src -p  com.smruti.webservice.client -d ${build.dir} -extension -keep -Xdebug -verbose" />
</exec>

但是,仍然无法将wsimport用作java8和jax-ws-2.2.10的ant任务。

相关内容

最新更新