jaxb2 schemagen语法错误

e7arh2l6  于 2021-07-09  发布在  Java
关注(0)|答案(1)|浏览(434)

我正在尝试用Java8构建一个汇流插件。它使用Java7正确构建。它使用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>

在maven中使用-e或-x不会抛出任何额外有用的输出,在执行的配置中使用会抛出saxparseexception警告和上面提到的相同错误。
我将我的sun-jaxb.incident与其他示例(如本站点中)进行了比较https://github.com/highsource/maven-jaxb2-plugin/wiki/using-episodes)它有着完全相同的结构,没有什么看起来不正常的。
知道会发生什么吗?

bvhaajcl

bvhaajcl1#

这可能有点太晚或不完全是你要找的,但这可能是有帮助的人。
当我试图用jaxb2从带注解的类生成xsd时,在我的项目中遇到了相同的语法错误(“syntax error@[1,1]in file:”)。我相信插件也在查看我的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
这是为了我。我以前尝试过的另一件事是从文件路径中删除空白(我的项目名中有空白),因为这似乎会生成一个尚未修复的旧bug。关于这个问题,请看:https://github.com/mojohaus/jaxb2-maven-plugin/issues/48
希望有帮助!

相关问题