Eclipse怎么自动生成XML Schema的J*a类
Eclipse中生成XSD对应J*a类最常用方式是JAXB的xjc工具:JDK 8内置,JDK 9+需手动添加Jakarta JAXB依赖;可通过Eclipse右键XSD→Generate→JAXB Classes向导生成,或用M*en的jaxb2-m*en-plugin自动化生成并管理。

在 Eclipse 中自动生成 XML Schema(XSD)对应的 J*a 类,最常用且官方支持的方式是使用 JAXB 工具(如 xjc),配合 Eclipse 的插件或外部工具集成。Eclipse 本身不直接“一键生成”,但可通过配置轻松完成。
确认 JDK 和 JAXB 支持
JAXB 在 JDK 8 中默认内置,但从 JDK 9 开始被移出标准库,JDK 11+ 完全移除。因此:
- 若用 JDK 8:可直接调用
xjc(位于$J*A_HOME/bin/xjc) - 若用 JDK 9+:需手动添加 jakarta.xml.bind-api 和 jaxb-runtime 依赖,并使用独立的
xjc(如来自 JAXB-RI 或 JAXB2 Basics)
使用 Eclipse 内置的 XJC 工具(推荐方式)
Eclipse IDE(特别是 Eclipse IDE for Enterprise J*a and Web Developers)通常已集成 JAXB Tools 支持:
办公小浣熊
办公小浣熊是基于商汤大语言模型的原生数据分析产品,
460
查看详情
- 右键点击你的 XSD 文件 → 选择 Generate → JAXB Classes…
- 在向导中指定:
-
Target package:生成类的目标包名(如
com.example.schema) -
Target folder:生成源码的输出目录(建议选
src/main/j*a或项目内的generated-sources) - 勾选 Overwrite existing files(如需覆盖)
-
Target package:生成类的目标包名(如
- 点击 Finish,Eclipse 会自动调用
xjc并生成带注解的 J*a 类(@XmlRootElement,@XmlElement等)
通过 M*en + JAXB 插件自动化(更可靠、可复现)
在企业级项目中,推荐用 M*en 管理生成过程,避免 IDE 差异:
- 在
pom.xml中添加jaxb2-m*en-plugin(兼容 JDK 9+):
jaxb2-m*en-plugin
goals>
- 保存后右键项目 → M*en → Generate Sources and Update Folders,即可生成
- 生成的类默认放在
target/generated-sources/jaxb,可配置为src/main/j*a(注意避免手写代码被覆盖)
验证和使用生成的类
生成后,你会得到类似 ObjectFactory.j*a、Person.j*a 等类。简单测试反序列化:
.createUnmarshaller()
.unmarshal(new File("person.xml"), Person.class)
.getValue();
- 确保 XML 根元素与 XSD 中定义一致
- 如遇命名冲突或需要定制(如字段名、集合类型),可在 XSD 中加
jaxb:property或使用binding.xjb绑定文件
以上就是Eclipse怎么自动生成XML Schema的J*a类的详细内容,更多请关注其它相关文章!
