Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/blackberry/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用XSD自动生成的java类构建gradle模块时,我有编码错误_Java_Gradle_Encoding_Jaxb - Fatal编程技术网

使用XSD自动生成的java类构建gradle模块时,我有编码错误

使用XSD自动生成的java类构建gradle模块时,我有编码错误,java,gradle,encoding,jaxb,Java,Gradle,Encoding,Jaxb,我有用于从XSD生成JavaBean的gradle模块。我在参考资料中有一个包含XSD文件的文件夹,我为generate编写了gradle任务 configurations { jaxb // Only for generation purpose } dependencies { jaxb 'javax.xml.bind:jaxb-api:2.2.11' jaxb 'com.sun.xml.bind:jaxb-xjc:2.2.11' jaxb 'com.sun

我有用于从XSD生成JavaBean的gradle模块。我在参考资料中有一个包含XSD文件的文件夹,我为generate编写了gradle任务

configurations {
    jaxb // Only for generation purpose
}

dependencies {
    jaxb 'javax.xml.bind:jaxb-api:2.2.11'
    jaxb 'com.sun.xml.bind:jaxb-xjc:2.2.11'
    jaxb 'com.sun.xml.bind:jaxb-impl:2.2.11'
    jaxb 'com.sun.xml.bind:jaxb-osgi:2.2.11'
}

task generateSources() {

    doLast {
        def jaxbTargetDir = file("$buildDir/generated-sources")

        if (!jaxbTargetDir.exists()) {
            jaxbTargetDir.mkdirs()
        }

        ant.taskdef(name: 'xjc', classname: 'com.sun.tools.xjc.XJCTask', classpath: configurations.jaxb.asPath)

        ant.xjc(destdir: "${jaxbTargetDir}",
                encoding: 'UTF-8',
                removeOldOutput: 'yes',
                extension: 'true') {
            schema(dir: "${projectDir}/src/main/resources/schemas", includes: "**/*.xsd")
            arg(line: '-nv -disableXmlSecurity')
        }
    }
}

compileJava.dependsOn generateSources
我的XSD文件包含
cirilyc
文本。我将
编码
添加到
任务

encoding: 'UTF-8'
当我开始我的
generateSources
任务时,我会得到带有正常
cirilyc
文本的java bean

10:07:58: Executing task 'generateSources'...

:buildSrc:compileJava NO-SOURCE
:buildSrc:compileGroovy UP-TO-DATE
:buildSrc:processResources NO-SOURCE
:buildSrc:classes UP-TO-DATE
:buildSrc:jar UP-TO-DATE
:buildSrc:assemble UP-TO-DATE
:buildSrc:compileTestJava NO-SOURCE
:buildSrc:compileTestGroovy NO-SOURCE
:buildSrc:processTestResources NO-SOURCE
:buildSrc:testClasses UP-TO-DATE
:buildSrc:test NO-SOURCE
:buildSrc:check UP-TO-DATE
:buildSrc:build UP-TO-DATE
:my-generator:generateSources

BUILD SUCCESSFUL in 1s
1 actionable task: 1 executed
10:08:00: Task execution finished 'generateSources'.
一切都很酷。我打开生成的类并正确显示
cirilyc
文本。但如果在此模块上运行
构建任务
,则会出现错误:

    10:09:19: Executing task 'build'...

    :buildSrc:compileJava NO-SOURCE
    :buildSrc:compileGroovy UP-TO-DATE
    :buildSrc:processResources NO-SOURCE
    :buildSrc:classes UP-TO-DATE
    :buildSrc:jar UP-TO-DATE
    :buildSrc:assemble UP-TO-DATE
    :buildSrc:compileTestJava NO-SOURCE
    :buildSrc:compileTestGroovy NO-SOURCE
    :buildSrc:processTestResources NO-SOURCE
    :buildSrc:testClasses UP-TO-DATE
    :buildSrc:test NO-SOURCE
    :buildSrc:check UP-TO-DATE
    :buildSrc:build UP-TO-DATE
    :my-generator:generateSources
    path-to-my-project/InvalidMessageIdFormatException.java:10: error: unmappable character for encoding Cp1251
     *                     Р?дентификатор, присвоенный сообщению отправителем, РЅРµ является корректным строковым представлением UUID, вариант 1 (СЃРј. RFC-4122).
                            ^
    path-to-my-project/MessageExchangePortType.java:53: error: unmappable character for encoding Cp1251
         *                 Дополнительный контроль доступа РІ Р?РЎ-поставщике данных запрещён.
                                                                                            ^
    path-to-my-project/\StaleMessageIdException.java:10: error: unmappable character for encoding Cp1251
     *                     Р?дентификатор (UUID), присвоенный сообщению отправителем, содержит старый timestamp.
                            ^
    path-to-my-project/\AckTargetMessage.java:55: error: unmappable character for encoding Cp1251
         *                 Р?дентификаторы присваиваются сообщеням отправителями.