【发布时间】:2010-06-11 07:53:37
【问题描述】:
我正在进行一个使用 NetBeans (6.8) 的项目。我们使用了几个不同的 Web 服务,我们将它们添加为 Web 服务引用,并且 Netbeans 为我们自动生成 Ant wsimport 脚本。非常方便,但有一个缺点:每次调用 ant 时都会重新编译 Web 服务客户端。这大大减慢了构建过程,并导致sword-related injuries, maimings and deaths 的数量猛增。
通常,我会通过更改
中的wsimport 元素来解决此问题
<wsimport
sourcedestdir="${build.generated.dir}/jax-wsCache/PonyService"
destdir="${build.generated.dir}/jax-wsCache/PonyService"
wsdl="${wsdl-PonyService}"
catalog="catalog.xml"
verbose="true"/>
到
<wsimport
sourcedestdir="${build.generated.dir}/jax-wsCache/PonyService"
destdir="${build.generated.dir}/jax-wsCache/PonyService"
wsdl="${wsdl-PonyService}"
catalog="catalog.xml"
verbose="true">
<produces dir="${build.generated.dir}/jax-wsCache/PonyService" />
</wsimport>
但我不能,因为这部分 Ant 脚本是自动生成的。如果我右键单击 PonyService Web 服务引用并选择 Edit Web Service Attributes ⇒ wsimport options,我可以将属性添加到 wsimport 元素,但是不是子元素。
那么:除了破解自动生成的 Ant 脚本之外,我如何将 produces 子元素添加到 wsimport?
或者更笼统地说:如何让 NetBeans 生成的wsimport不每次构建时都重新编译 Web 服务客户端?
(也出现在NetBeans EE forum。)
【问题讨论】:
-
在 NetBeans 7.1 中遇到同样的问题,但使用 wsimport 选项还不够熟练,无法理解依赖/生成节点工作的原因或如何更改它们。希望有人会偶然发现这一点,并提供有关如何阻止 WSDL 在每次重建时轮询的更多信息。
-
@TonyG,祝你好运。最好的解决方案可能是切换到 Maven 或其他不依赖 IDE 的构建系统(如 SBT)。
标签: java netbeans ant build wsimport