5

当我使用 wsgen 或 apt 在 JDK 7 中通过命令生成 Web 服务工件时。

wsgen -s src -cp CLASS_PATH -d OUTPUT_DIRECTORY  com.sun.WebServiceSEI

显示以下警告信息

自 JDK 7 以来,com.sun.mirror 包中包含的 apt 工具及其相关 API 已被弃用,并计划在下一个主要 JDK 版本中删除。使用 javac 工具中可用的选项以及包 javax.annotation.processing 和 javax.lang.model 中包含的 API 来处理注释。

如何在不使用 wsgen 或 apt 删除此警告的情况下生成 Web 服务工件?

4

3 回答 3

2

javac 是替代品。不久前,他们在 javac(JSR 269:Plugable Annotation Processing API)中添加了一个可插入的注释处理系统(我认为是 Java 6)。您正在寻找的注释处理器位于 jaxws-tools.jar(Metro 下载)中。一旦你在你的类路径中有那个 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 一起提供,但如果是这样,我找不到它。

于 2013-03-23T23:52:43.723 回答
1

生成警告是因为WsgenTool类正在使用com.sun.mirror.apt包中的类,这在 JDK7 中似乎已弃用。我认为 JAX-WS 团队将在一段时间内发布不使用此 API 的 jaxws-ri,但它可能会发生在更接近 JDK8 发布的某个地方。

于 2012-02-06T12:08:06.143 回答
0

恐怕,这是不可能的。您可以做的是切换回为您工作的旧 JDK,这是您最好的选择。

于 2012-02-11T17:07:39.187 回答