xjc将schema文件转化为Java bean
JAXB支持两种方式的XML与Java Bean相互转化,之前介绍过基于注解的方式(JAXB简单转化演示),这节介绍另一种方式xjc.xjc属于jdk的命令行工具,用于将schema文件生成java实体类.
在Trang.jar将XML转化为schema文件,我们已经得到了schema文件,现在的主要任务是将schema转换为Java bean.
1.测试xjc是否安装好
(1)在生成好的xsd文件所在目录中,按住Shift键,单机鼠标右键,在弹出的对话框中,选择在此处打开命令窗口,如下图:
(2)在DOS窗口中输入xjc -version命令,如果输出xjc的版本号,说明安装正确.如果没有输出xjc的版本号,可能是没有配置好jdk,需要设置环境变量.
2.xjc将schema文件转化为Java bean
(1)使用最简单的转换命令(此处我们要转换的文件为user.xsd):
xjc user.xsd
DOS命令行工具展示解析过程:
查看generated文件夹,可以看到生成两个Java文件:
2. xjc命令
参数 | 取值 | 含义 |
-b | file/dir | 指定其他的binding文件或文件夹 |
-d | dir,默认为generated | 生成的文件存放在该文件夹下 |
-p | pkg,默认为generated | 生成的Java文件使用的包名 |
-xmlschema | 默认 | 指定输入为W3C XML Schema |
-relaxng | 指定输入为 RELAX NG | |
-relaxng-compact | 指定输入为 RELAX NG compact | |
dtd | 指定输入为XML DTD | |
-version | 查看xjc的版本 |
(1)指定生成java文件的包名:
命令:xjc -p com.traing.bean user.xsd
DOS命令行工具展示解析过程:
此命令会自动在D:\ruanjian\trang目录下创建\com\traing\bean目录且在bean目录下创建User.java对象.
生成User.java对象的包名是:package com.traing.bean;
(2)指定生成的java文件路径:
命令:xjc user.xsd -d D:\ruanjian\trang\appoint
如果不存在appoint目录会报拒绝写入不存在的目录错误,如下图:
(3)将其他格式的schema转化为Java对象:
命令:xjc user.dtd -dtd
(4)一次性指定多个需要转换schema文件:
命令:xjc student.xsd user.xsd
此命令的作用可以指定多个schema文件,不过两个schema文件不能有重复的属性.