cxf-codegen-plugin不会生成与UTF-8兼容的文件

时间:2014-12-01 11:10:16

标签: maven encoding wsdl2java cxf-codegen-plugin

我的POM下面没有以UTF-8生成文件。

WSDL文件包含XSD文件,而这些文件又使用法语强调的字符,如é, è, à等。我没有使用WSDL,因为我必须在交付时使用它们。

根据Notepad ++,

WSDL和XSD文件在没有BOM的情况下以UTF-8正确编码。

当我尝试生成java文件时,这些java文件是在DOS / Windows字符集中生成的,再次根据Notepad ++。

我希望java文件是以UTF-8生成的,因为我们所有的项目都使用UTF-8,并且由于以下错误,我们的开发人员无法在本地编译java类:{{1} }。

我阅读了关于此的documentation of CXF并完成了所描述的所有内容,包括直接在插件中添加JAXB的两个依赖项。但它没有用。

我使用的是CXF 2.6.10版(在2.6.1之后发布,其中包括以特定编码生成文件的选项)。

error: unmappable character for encoding UTF-8

1 个答案:

答案 0 :(得分:0)

我阅读了上述链接中的文档。它说使用jaxb 2.2。我现在检查了Jira问题,并且读到我必须使用版本2.2.5而不是版本2.2。

所以我的POM有这个而不是问题中的内容:

    <dependencies>
        <dependency>
            <groupId>com.sun.xml.bind</groupId>
            <artifactId>jaxb-impl</artifactId>
            <version>2.2.5</version>
        </dependency>
        <dependency>
            <groupId>com.sun.xml.bind</groupId>
            <artifactId>jaxb-xjc</artifactId>
            <version>2.2.5</version>
        </dependency>
    </dependencies>

最后,我尝试使用最新版本的JAXB,2.2.11,但是这个引入了新的编译问题,所以我最终保留了2.2.5。