Синтаксическая ошибка схемы JAXB2 при переходе от JDK7 к 8
Я пытаюсь создать плагин Confluence с Java 8. Он собирается правильно с Java 7. Он использует плагин jaxb2-maven-, где выбрасывает одно из определенных исполнений с целью "schemagen" и фаза "generate-resources" ошибка:
[ERROR] Failed to execute goal org.codehaus.mojo:jaxb2-maven-plugin:2.3.1:schemagen (restTypes) on project bb-team-plugin:
Execution restTypes of goal org.codehaus.mojo:jaxb2-maven-plugin:2.3.1:schemagen failed:
syntax error @[1,1] in file: MY_WORKDIR/target/generated-sources/jaxb/META-INF/sun-jaxb.episode -> [Help 1]
Файл привязок у меня есть:
<jxb:bindings jxb:version="1.0" jxb:extensionBindingPrefixes="xjc"
xmlns:jxb="http://java.sun.com/xml/ns/jaxb"
xmlns:xjc="http://java.sun.com/xml/ns/jaxb/xjc">
<jxb:globalBindings>
<xjc:simple />
</jxb:globalBindings>
</jxb:bindings>
Использование -e или -X в maven не приводит к дополнительным полезным выводам, использование в конфигурации для выполнения выдает предупреждение SAXParseException и ту же ошибку, что и упомянутая выше.
Я сравнил свой sun-jaxb.episode с другими примерами (как на этом сайте https://github.com/highsource/maven-jaxb2-plugin/wiki/Using-Episodes), и он имеет точно такую же структуру, ничего не выглядит уродилась там.
Есть идеи, что может случиться?
1 ответ
Это может быть слишком поздно или не совсем то, что вы ищете, но это может быть полезно для кого-то.
Я столкнулся с той же синтаксической ошибкой ("синтаксическая ошибка @[1,1] в файле:") в моем проекте при попытке сгенерировать XSD из аннотированных классов с помощью JAXB2. Я полагаю, что плагин просматривал и мои xsd-файлы, создавая исключение SAXParseException, поэтому я включил фильтр исключения в pom.xml следующим образом:
<schemaSourceExcludeFilters>
<myExcludes implementation="org.codehaus.mojo.jaxb2.shared.filters.pattern.PatternFileFilter">
<patterns>
<pattern>\.xsd</pattern>
</patterns>
</myExcludes>
</schemaSourceExcludeFilters>
подробнее об этом: http://www.mojohaus.org/jaxb2-maven-plugin/Documentation/v2.2/schemagen-mojo.html
Это сделало это для меня. Еще одна вещь, которую я пробовал ранее, заключалась в удалении пробелов из пути к файлу (в имени моего проекта были пробелы), так как это, кажется, генерирует старую ошибку, которая еще не была исправлена. Об этой проблеме смотрите по адресу: https://github.com/mojohaus/jaxb2-maven-plugin/issues/48
Надеюсь, поможет!