wsgen/apt(ant 任务)工具的最佳替代方法是使用 ant 为 jdk 1.8 生成 wsdl
What is best alternative to wsgen/apt (ant task) tool to generate wsdl using ant for jdk 1.8
我当前的 Web 服务实现在 Jax-ws、ant 和 jdk-1.7 上运行良好。我的要求是从 jdk 1.7 迁移到 jdk 1.8。但是当我使用 jdk 1.8 构建时,使用 ant task wsgen 生成 wsdl 时出现错误:java.lang.NoClassDefFoundError: com/sun/mirror/apt/AnnotationProcessorFactory
网上搜索发现,jdk8不再支持apt工具,需要迁移到注解处理API。以下是我找到的唯一 link 有关如何为其执行 ant 任务并实施的正确指导。
https://jax-ws.java.net/nonav/2.2.6/docs/ch04.html#tools-annotation-processing-ant-task
但是当我使用它并解决了所有编译问题时,现在在目标位置生成了文件。似乎也不支持在此过程中创建 wsdl。
我的完整 build/web-service 过程依赖于 apt/wsgen/wsimport。我怎样才能正确地将它们迁移到 jdk 1.8 ?
是否有任何适当的文档或link可以遵循以克服它?
下面我的 wsgen 任务的代码片段:
<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>
您使用的是哪个 JAX-WS 版本?
的实施
com.sun.tools.ws.ant.WsGen
前段时间已经适应了新的注解处理API。升级 JAX-WS 应该可以解决该问题。
我当前的 Web 服务实现在 Jax-ws、ant 和 jdk-1.7 上运行良好。我的要求是从 jdk 1.7 迁移到 jdk 1.8。但是当我使用 jdk 1.8 构建时,使用 ant task wsgen 生成 wsdl 时出现错误:java.lang.NoClassDefFoundError: com/sun/mirror/apt/AnnotationProcessorFactory
网上搜索发现,jdk8不再支持apt工具,需要迁移到注解处理API。以下是我找到的唯一 link 有关如何为其执行 ant 任务并实施的正确指导。
https://jax-ws.java.net/nonav/2.2.6/docs/ch04.html#tools-annotation-processing-ant-task
但是当我使用它并解决了所有编译问题时,现在在目标位置生成了文件。似乎也不支持在此过程中创建 wsdl。
我的完整 build/web-service 过程依赖于 apt/wsgen/wsimport。我怎样才能正确地将它们迁移到 jdk 1.8 ?
是否有任何适当的文档或link可以遵循以克服它?
下面我的 wsgen 任务的代码片段:
<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>
您使用的是哪个 JAX-WS 版本?
的实施 com.sun.tools.ws.ant.WsGen
前段时间已经适应了新的注解处理API。升级 JAX-WS 应该可以解决该问题。