【发布时间】:2014-12-13 08:13:43
【问题描述】:
我正在尝试通过 hyperjaxb 运行真正的模式。我已经使用 jaxb 反复测试了架构,并且 jaxb 每次都正确导入架构。但是,当我尝试让 hyperjaxb 从同一架构生成带有 hibernate 注释的 java 类时,我收到以下错误:
[ERROR] Error while parsing schema(s).Location [ file:/C:/path/to/src/main/resources/schema.xsd{4,32}].
org.xml.sax.SAXParseException; systemId: file:/C:/path/to/src/main/resources/schema.xsd;
lineNumber: 4; columnNumber: 32;
Using "http://annox.dev.java.net" customizations requires the "-Xannotate" switch
to enable this plug-in.
我已经用谷歌搜索了这个错误消息并阅读了其他关于它的帖子,但没有找到任何解决它的干净说明。我找到的最接近的是this article,它表示 annox 插件is activated by the -Xannotate command-line argument。
我看了this link,但是在xsd文件中添加以下内容并没有消除错误,可能是因为xsd在任何地方都没有使用jaxb前缀。
xmlns:jaxb="http://java.sun.com/xml/ns/jaxb"
jaxb:version="2.1"
xmlns:annox="http://annox.dev.java.net"
jaxb:extensionBindingPrefixes="annox"
我已经上传了一个包含所有相关材料的 zip 文件,以便快速重现问题to this link。它是项目的 zip 文件,包括预期的模式。重现问题所需要做的就是将命令行导航到解压缩项目的根目录并键入mvn clean install 以重现错误。
我该如何解决这个错误?
编辑:
我已经尝试在 pom.xml 的插件配置中添加以下内容,但到目前为止还没有成功。
<args>
<arg>-Xannotate</arg>
</args>
第二次编辑:
我在pom.xml 中添加了@lexicore 的建议,但结果是null pointer exception,您可以阅读by clicking on this link。为了促进其他人更容易使用hyperjaxb,我将完整的当前pom.xmlat this link包括在内。一起,这个修改后的pom.xml 和上面的 zip 文件足以在几分钟内重现问题。这是配置问题还是错误?
【问题讨论】:
-
用户链接到他的代码示例(而不是在问题本身中提供它们),现在所有链接都已损坏。这与“寻求调试帮助的问题必须包括所需的行为、特定的问题或错误以及在问题本身中重现它所需的最短代码”有关。
标签: java jaxb xsd hyperjaxb annox