2014-02-07 4 views
0

우리 빌드를 개미에서 gradle로 변환하고 개미 작업 wsimport를 사용할 때 문제가 발생했습니다.
이이 작품을 잘 개미gradle wsimport 다중 바인딩

<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{ 
       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:"${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") 
       )       
} 

문제를 발견 명명 된 매개 변수 '바인딩'중복 : 작업을 만들거나 원인을 결합 입력하지 못했습니다 이름이 그래서 기본적으로 I는 ... 궁금 무엇인지 정의되지 않은

입니다 정의하는 방법이 있나요 개미에 wsimport가있는 것처럼 gradle의 wsimport에 대한 여러 바인딩. 감사.

답변

1

나는 이것을 스스로 알아 냈습니다. 다른 오류로 밝혀졌습니다. 이것이 나를 위해 일한 방법입니다.

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를 사용했다 (나는 원래의 질문에서 생략 있음)와 항아리 잘못 선정됐다 참조되는. 이것이 바로 업무가 어떻게 생겼는지입니다.

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") 
        } 
0

네, 정상적으로 작동합니다.

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") 
      } 
    } 
+0

귀하의 솔루션이 왜 기여도를 높이기 위해 효과가 있는지 설명 할 수 있습니까? –