Eclipse怎么自动生成XML Schema的Java类

煙雲
发布: 2025-12-22 13:39:08
原创
510人浏览过
Eclipse中生成XSD对应Java类最常用方式是JAXB的xjc工具:JDK 8内置,JDK 9+需手动添加Jakarta JAXB依赖;可通过Eclipse右键XSD→Generate→JAXB Classes向导生成,或用Maven的jaxb2-maven-plugin自动化生成并管理。

eclipse怎么自动生成xml schema的java类

在 Eclipse 中自动生成 XML Schema(XSD)对应的 Java 类,最常用且官方支持的方式是使用 JAXB 工具(如 xjc),配合 Eclipse 的插件或外部工具集成。Eclipse 本身不直接“一键生成”,但可通过配置轻松完成。

确认 JDK 和 JAXB 支持

JAXB 在 JDK 8 中默认内置,但从 JDK 9 开始被移出标准库,JDK 11+ 完全移除。因此:

使用 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(如需覆盖)
  • 点击 Finish,Eclipse 会自动调用 xjc 并生成带注解的 Java 类(@XmlRootElement, @XmlElement 等)

通过 Maven + JAXB 插件自动化(更可靠、可复现)

在企业级项目中,推荐用 Maven 管理生成过程,避免 IDE 差异:

AI Room Planner
AI Room Planner

AI 室内设计工具,免费为您的房间提供上百种设计方案

AI Room Planner 136
查看详情 AI Room Planner

立即学习Java免费学习笔记(深入)”;

  • pom.xml 中添加 jaxb2-maven-plugin(兼容 JDK 9+):

  
    
      org.codehaus.mojo
      jaxb2-maven-plugin
      3.1.0
      
        
          xjc
          goals>xjc
        

      

      
        src/main/resources/schema.xsd
        src/main/java
        false
      

    

  

  • 保存后右键项目 → Maven → Generate Sources and Update Folders,即可生成
  • 生成的类默认放在 target/generated-sources/jaxb,可配置为 src/main/java(注意避免手写代码被覆盖)

验证和使用生成的类

生成后,你会得到类似 ObjectFactory.javaPerson.java 等类。简单测试反序列化:

Person person = JAXBContext.newInstance(Person.class)
  .createUnmarshaller()
  .unmarshal(new File("person.xml"), Person.class)
  .getValue();
  • 确保 XML 根元素与 XSD 中定义一致
  • 如遇命名冲突或需要定制(如字段名、集合类型),可在 XSD 中加 jaxb:property 或使用 binding.xjb 绑定文件

以上就是Eclipse怎么自动生成XML Schema的Java类的详细内容,更多请关注php中文网其它相关文章!

最佳 Windows 性能的顶级免费优化软件
最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号