当我使用wsgen或apt在JDK 7中使用命令生成Web服务工件时。
wsgen -s src -cp CLASS_PATH -d OUTPUT_DIRECTORY com.sun.WebServiceSEI
显示以下警告消息
com.sun.mirror包中包含的apt工具及其关联的API自JDK 7以来已被弃用,并计划在下一个主要的JDK版本中删除。使用javac工具中提供的选项以及包javax.annotation.processing和javax.lang.model中包含的API来处理注释。
如何在不使用wsgen或apt删除此警告的情况下生成Web服务工件?
答案 0 :(得分:2)
javac是替代品。他们在一段时间之前将一个可插入的注释处理系统添加到javac(JSR 269:Pluggable Annotation Processing API)中(我认为是Java 6)。您正在寻找的注释处理器位于jaxws-tools.jar(Metro download)。在类路径上拥有该jar之后,您应该能够使用-processor com.sun.tools.ws.processor.modeler.annotation.WebServiceAp选项运行javac。还有一个Ant任务com.sun.tools.ws.ant.AnnotationProcessingTask。他们在这里谈了一点http://jax-ws.java.net/nonav/2.2.6/docs/ch04.html#tools-annotation-processing但是没有真正解释它。也许所需的注释处理器附带JDK,但如果是这样,我找不到它。
答案 1 :(得分:1)
生成警告是因为WsgenTool
类正在使用来自com.sun.mirror.apt
包的类,这些类似乎在JDK7中已弃用。我想有一段时间JAX-WS团队将发布不使用此API的jaxws-ri,但它可能会发生在更接近JDK8发布的地方。
答案 2 :(得分:0)
我害怕,这是不可能的。您可以做的是切换回适合您的旧JDK,这是您最好的选择。