使用XSD自动生成的java类构建gradle模块时,我有编码错误
我有用于从XSD生成JavaBean的gradle模块。我在参考资料中有一个包含XSD文件的文件夹,我为generate编写了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
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
* Р?дентификаторы присваиваются сообщеням отправителями.