gpt4 book ai didi

ant - gradle wsimport 多个绑定(bind)

转载 作者:行者123 更新时间:2023-12-03 05:17:42 25 4
gpt4 key购买 nike

我正在将我们的构建从 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}")
}
}

错误属性“类型”已经定义 - 这让我认为绑定(bind)没有被接受(至少不是两者),因为它适用于 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"
}
}

错误属性“类型”已经定义 - 这让我认为绑定(bind)没有被接受(至少不是两者),因为它适用于 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"
)
}

甚至不会开始。发现重复的命名参数“绑定(bind)”
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")
)
}

问题:创建任务或类型绑定(bind)失败
原因:名称未定义

所以基本上我想知道的是......有没有一种方法可以在 gradle 中为 wsimport 定义多个绑定(bind),就像在 ant 中定义 wsimport 一样。谢谢。

最佳答案

这是我自己想出来的。原来有一个不同的错误。这是对我有用的方式。

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:"jaxb-bindings.xml,jaxws-bindings.xml")
}
}

我还在我的 wsimport 中使用了 xjcargs (我从原始问题中省略了)并且被引用的 jar 被错误地命名。这就是工作任务的样子。
 wsimport(
keep:true,
destdir: tempDestFile,
wsdl:"${f.absolutePath}",
xadditionalHeaders:true
){
binding(dir:"${common_WSDL_dir}", includes:"common-jaxb-bindings.xml,common-jaxws-bindings.xml")
xjcarg(value:configurations.compile.asPath + "/schemas-common.jar")
xjcarg(value:configurations.compile.asPath + "/compile/schemas-hrxml3_1.jar")
}

关于ant - gradle wsimport 多个绑定(bind),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21636226/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com