首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >分级wsimport多个绑定

分级wsimport多个绑定
EN

Stack Overflow用户
提问于 2014-02-07 19:30:14
回答 2查看 6.2K关注 0票数 2

我正在将我们的构建从ant转换到gradle,在使用ant任务wsimport时遇到了一个问题。

这是蚂蚁的原作

代码语言:javascript
复制
<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>

这个很好用。

从格拉德尔我做了很多尝试..。

代码语言:javascript
复制
    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}")
                    }
     }

错误属性"Type“已经定义--这使我认为绑定没有被接受(至少不是两者都接受),因为它对ant有效。

代码语言:javascript
复制
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"
                }
 }

错误属性"Type“已经定义--这使我认为绑定没有被接受(至少不是两者都接受),因为它对ant有效。

代码语言:javascript
复制
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"
                )                        
 }

甚至都不会开始。找到重复的命名参数‘绑定’

代码语言:javascript
复制
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一样。谢谢。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-02-14 17:44:40

我自己想出来的。结果却是一个不同的错误。这就是我的工作方式。

代码语言:javascript
复制
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 (这是我从最初的问题中省略的),引用的jars命名错误。这就是工作任务的样子。

代码语言:javascript
复制
 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")
                    }
票数 2
EN

Stack Overflow用户

发布于 2017-10-03 16:34:09

是的,这个对我来说很好。

代码语言:javascript
复制
    ant {
            taskdef(name: 'wsimport',
                    classname: 'com.sun.tools.ws.ant.WsImport',
                    classpath: configurations.jaxws.asPath)
            wsimport(keep: true,
                    destdir: classesDir,
                    sourcedestdir: javaDir,
                    extension: "true",
                    verbose: "true",
                    quiet: "false",
                    xnocompile: "false",
                    xendorsed: true,
                    wsdlLocation: "OrderImportService.wsdl",
                    wsdl: "${wsdlFile}") 
            {
                binding(dir:"${wsdlDir}", includes:"jaxb-bindings.xml,jaxws-bindings.xml")
                xjcarg(value: "-XautoNameResolution")
            }
    }
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21636226

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档