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

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










