0

UTF-8 でファイルを生成しない以下の POM があります。

WSDL ファイルには XSD ファイルが含まれており、これらのファイルはé, è, à.

WSDL および XSD ファイルは、Notepad++ に従って、BOM なしで UTF-8 で正しくエンコードされます。

Java ファイルを生成しようとすると、これらの Java ファイルは DOS/Windows 文字セットで生成されます。これも Notepad++ に従っています。

私たちのプロジェクトはすべて UTF-8 を使用しており、次のエラーのために Windows の開発者が Java クラスをローカルでコンパイルできないため、Java ファイルを UTF-8 で生成する必要があります: error: unmappable character for encoding UTF-8.

これに関する CXFのドキュメントを読み、JAXB の 2 つの依存関係をプラグインに直接追加するなど、すべてを説明どおりに作成しました。それでもうまくいきません。

CXF バージョン 2.6.10 を使用しています (2.6.1 の後にリリースされ、特定のエンコーディングでファイルを生成するオプションが含まれていました)。

<plugin>
    <groupId>org.apache.cxf</groupId>
    <artifactId>cxf-codegen-plugin</artifactId>
    <version>${cxf.version}</version>
    <configuration>
        <encoding>UTF-8</encoding>
    </configuration>
    <executions>
        <execution>
            <id>generate-sources</id>
            <phase>generate-sources</phase>
            <configuration>

                <sourceRoot>${project.build.directory}/generated-sources/cxf</sourceRoot>
                <wsdlOptions>
                    <wsdlOption>
                        <wsdl>${basedir}/src/main/webapp/WEB-INF/wsdl/service_v1.wsdl</wsdl>
                        <bindingFiles>
                            <bindingFile>${basedir}/src/main/xjb/bindings.xml</bindingFile>
                        </bindingFiles>                                         
                    </wsdlOption>
                    <wsdlOption>
                        <wsdl>${basedir}/src/main/webapp/WEB-INF/wsdl/service_internals_v1.wsdl</wsdl>
                        <bindingFiles>
                            <bindingFile>${basedir}/src/main/xjb/internals-bindings.xml</bindingFile>
                        </bindingFiles>                                                                                                                                                                             
                    </wsdlOption>                                                                                                                 
                </wsdlOptions>
                <extraargs>
                    <extraarg>-validate</extraarg>
                    <extraarg>-verbose</extraarg>
                    <extraarg>-p</extraarg>
                    <extraarg>be.mycompany</extraarg>
                    <extraarg>-exceptionSuper java.lang.Exception</extraarg>
                </extraargs>
            </configuration>
            <goals>
                <goal>wsdl2java</goal>
            </goals>
        </execution>
    </executions>
    <dependencies>
        <dependency>
            <groupId>com.sun.xml.bind</groupId>
            <artifactId>jaxb-impl</artifactId>
            <version>2.2</version>
        </dependency>
        <dependency>
            <groupId>com.sun.xml.bind</groupId>
            <artifactId>jaxb-xjc</artifactId>
            <version>2.2</version>
        </dependency>
    </dependencies>
</plugin>
4

1 に答える 1