通过运行Java API文档中建议的“schenagen”生成模式的指令适用于JDK7,但不适用于JDK8。
以下是文档页面: http://download.java.net/jdk8/docs/technotes/guides/xml/jaxb/index.html
以下是此页面中包含说明链接的行:
” 运行架构生成器(schemagen): [command-line instructions,using the SchemaGen Ant task] “
模式生成器不起作用,因为某些类已从JDK8中删除: “java.lang.ClassNotFoundException:com.sun.mirror.apt.AnnotationProcessorFactory”
此处提出了另一种解决方案: Generating XSD schemas from JAXB types in Maven?
此解决方案也适用于JDK7,但不适用于JDK8;最终会出现类似的错误:
“Class not foundcom / sun / tools / apt / Main.class”
根本原因可能是相同的:注释处理工具从JDK8中删除。 这一变化是在很久以前的JEP 117中计划的: http://openjdk.java.net/jeps/117
如何使用JDK8从(JAXB)带注释的Java类生成XML模式文件?
答案 0 :(得分:0)
您可以使用generateSchema
上的JAXBContext
方法生成XML架构: