java – WsImport ant任务和JDK 6

我正在尝试使用jax-ws生成Web服务代理类,使用wsimport ant任务,类似于this question,具有以下后续问题:

据我了解,更新版本的JDK 1.6包括jax-ws,而WsImport ant任务在JDK的tools.jar文件中定义.

为什么蚂蚁不会自动找到这个?

为什么eclipse也不会自动找到这个?

我发现了一些使用jax-ws与JDK 6的引用,但这些似乎是基于复制一个单独下载的jax-ws库并将其放入JDK ext文件夹(我假设它不再是必需的,因为它实际上是现在与JDK捆绑在一起).

将wsimport任务与已包含jax-ws的JDK 1.6版本一起使用的正确方法是什么?

我的构建XML:

<?xml version="1.0" encoding="UTF-8"?>
<project name="wsproxy">
    <taskdef name="wsimport" classname="com.sun.tools.ws.ant.WsImport" />
    <target name="wsgentest">
        <wsimport
            wsdl="http://localhost/Service?wsdl"
            destdir="bin-gen"
            sourcedestdir="src-gen"
            keep="true"
            verbose="true"
            package="com.ws">
        </wsimport>
    </target>
</project>
最佳答案
事实证明,JDK中的WsImport类实际上不是一个ant任务,而是实际的wsimport命令行工具.我也误读了包名:com.sun.tools.internal.ws.

实际的ant任务可以在metro包here中的webservices-tools.jar中找到.您需要将它放在ant lib目录中.

转载注明原文:java – WsImport ant任务和JDK 6 - 代码日志