【发布时间】:2014-02-07 19:30:14
【问题描述】:
我正在将我们的构建从 ant 转换为 gradle,并且在使用 ant 任务 wsimport 时遇到了问题。
这是ant的原文
<wsimport sourcedestdir="${module.local-lib.dir}"
destdir="${module.local-lib.dir}"
wsdl="${common.wsdl.dir}/${wsdl.file.name}"
xadditionalHeaders="true"
fork="true">
<binding dir="${wsdl.dir}" includes="jaxb-bindings.xml,jaxws-bindings.xml"/>
</wsimport>
这很好用。
从 Gradle 我做了很多尝试...
ant{
taskdef(name:'wsimport', classname:'com.sun.tools.ws.ant.WsImport', classpath:configurations.tools.asPath)
wsimport(
keep:true,
destdir: tempDestFile,
wsdl:"${common_WSDL_dir}/${current_wsdl_name}.wsdl",
xadditionalHeaders:true
){
binding(dir:file("${module_src_main_wsdl}"), includes:"${jaxws_consumed_binding}")
}
}
已经定义了错误属性“类型” - 这让我认为绑定没有被接受(至少不是两者都被接受),因为它适用于 ant
ant{
taskdef(name:'wsimport', classname:'com.sun.tools.ws.ant.WsImport', classpath:configurations.tools.asPath)
wsimport(
keep:true,
destdir: tempDestFile,
wsdl:"${common_WSDL_dir}/${current_wsdl_name}.wsdl",
xadditionalHeaders:true
){
binding="${module_src_main_wsdl}/jaxb-bindings.xml"
binding="${module_src_main_wsdl}/jaxws-bindings.xml"
}
}
已经定义了错误属性“类型” - 这让我认为绑定没有被接受(至少不是两者都被接受),因为它适用于 ant
ant{
taskdef(name:'wsimport', classname:'com.sun.tools.ws.ant.WsImport', classpath:configurations.tools.asPath)
wsimport(
keep:true,
destdir: tempDestFile,
wsdl:"${common_WSDL_dir}/${current_wsdl_name}.wsdl",
xadditionalHeaders:true,
binding:"${module_src_main_wsdl}/jaxb-bindings.xml",
binding:"${module_src_main_wsdl}/jaxws-bindings.xml"
)
}
甚至不会开始。发现重复的命名参数“绑定”
ant{
taskdef(name:'wsimport', classname:'com.sun.tools.ws.ant.WsImport', classpath:configurations.tools.asPath)
wsimport(
keep:true,
destdir: tempDestFile,
wsdl:"${common_WSDL_dir}/${current_wsdl_name}.wsdl",
xadditionalHeaders:true,
binding(dir"${module_src_main_wsdl}", includes:"jaxb-bindings.xml,jaxws-bindings.xml")
)
}
问题:创建任务或类型绑定失败 原因:名称未定义
所以基本上我想知道的是......有没有一种方法可以在 gradle 中为 wsimport 定义多个绑定,就像 ant 中的 wsimport 一样。谢谢。
【问题讨论】: