gpt4 book ai didi

jaxb - 如何使用 JDK8 从 (JAXB) 带注释的 Java 类生成 XML 模式文件

转载 作者:行者123 更新时间:2023-12-04 17:49:03 24 4
gpt4 key购买 nike

按照 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;它最终会出现类似的错误:

“类未找到com/sun/tools/apt/Main.class”

根本原因大概是一样的:JDK8去掉了注解处理工具。
很久以前在 JEP 117 中就计划进行此更改:
http://openjdk.java.net/jeps/117

现在如何使用 JDK8 从 (JAXB) 带注释的 Java 类生成 XML 模式文件?

最佳答案

这是“jaxb2-maven-plugin”中的一个错误。您必须使用 1.6 或更高版本的插件

       <plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>jaxb2-maven-plugin</artifactId>
<version>1.6</version>
<executions>
<execution>
<goals>
<goal>schemagen</goal>
</goals>
<phase>generate-resources</phase>
<configuration>
<includes>
<include>com/projectname/model/*.java</include>
</includes>
<outputDirectory>${project.build.directory}/schemas</outputDirectory>
</configuration>
</execution>
</executions>
</plugin>

关于jaxb - 如何使用 JDK8 从 (JAXB) 带注释的 Java 类生成 XML 模式文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22539659/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com