代码之家  ›  专栏  ›  技术社区  ›  Sylar

如何更改wsimport生成文件的编码?

  •  4
  • Sylar  · 技术社区  · 16 年前

    我正在使用JAX-WS的wsimport ant任务基于一些wsdl生成源代码。

    4 回复  |  直到 16 年前
        1
  •  3
  •   Lars Tackmann    16 年前

    这是有点糟糕的记录。WSImport使用XJC(来自JAXB)创建Java文件和文档 here 指示更改XML文件中的字符编码就足够了(尽管我没有尝试过)。如果您对手动运行JAXB感到满意,那么还可以通过JAXBContext上的JAXB_编码属性来配置它。

        2
  •  3
  •   Albert Lazaro de Lara Asteroid    7 年前

    我使用我的注册帐户发布:

    设置环境变量 JAVA_TOOL_OPTIONS 到- Dfile.encoding=UTF8

    windows中的示例:

    set JAVA_TOOL_OPTIONS=-Dfile.encoding=UTF8
    
    c:>wsimport -keep ... file.wsdl
    

    选择JAVA工具选项:-Dfile.encoding=UTF8 正在分析WSDL。。。

        3
  •  2
  •   Mauro Molinari    7 年前

    -encoding

    wsimport -keep -s c:\path\to\src c:\wsdl\myService.wsdl -encoding cp1252
    

        4
  •  1
  •   albciff    6 年前

    如果您通过ant任务使用wsimport,请使用 gradle ,你可以简单地使用 encoding 属性,指定中所需的编码 wsimport . 我使用wsimport版本进行了测试

    configurations {
       schemaGenerationBeans
    }
    
    dependencies {
       // dependencies per compilar schemas
       schemaGenerationBeans 'com.sun.xml.bind:jaxb-xjc:2.2.7'
       schemaGenerationBeans 'com.sun.xml.ws:jaxws-ri:2.2.7'
       schemaGenerationBeans 'com.sun.xml.ws:jaxws-tools:2.2.7'
    }
    
    task generateJaxb {
    
        ant.taskdef(name: 'wsimport', classname: 'com.sun.tools.ws.ant.WsImport', classpath: configurations.schemaGenerationBeans.asPath)
    
        ant.wsimport(wsdl: "$projectDir/src/main/resources/somepath/YOUR_WSDL.wsdl",
                wsdlLocation: "/somepath/YOUR_WSDL.wsdl", // relative path for generated classes
                package: 'org.your.package.xsd',
                xnocompile: 'true',
                xendorsed: 'true',
                sourcedestdir: "$projectDir/src/main/java/",
                encoding : 'utf-8' // DESIRED ENCODING PROPERTY!
        )
    }
    
        5
  •  0
  •   timiTao    7 年前

    将环境变量设置为 JAVA_TOOL_OPTIONS -Dfile.encoding=UTF8

    windows中终端的示例:

    set JAVA_TOOL_OPTIONS=-Dfile.encoding=UTF8
    
    c:>wsimport -keep ... file.wsdl
    
    Picked up `JAVA_TOOL_OPTIONS: -Dfile.encoding=UTF8`
    parsing WSDL...
    
    Generating code...
    
    推荐文章