Jaxb官方文档中文翻译

Jaxb官方文档中文翻译

2023年7月3日发(作者:)

Jaxb官⽅⽂档中⽂翻译JAXB提供了⾃动映射XML⽂档和Java对象的API和⼯具。JAXB框架可以完成下⾯的操作:

1、将XML内容Unmarshal成Java表⽰

2、访问和更新Java表⽰

3、将XML内容的Java表⽰Marshal成XML内容

JAXB提供了XML和Java代码之间的⾼效并且标准的映射。Java开发⼈员可以使⽤JAXB来简化开发,提⾼效率,因为使⽤JAXB可以写很少的代码,并且不需要很精通XML。JAXB使得开发⼈员可以很容易的使⽤XML和Web Service技术来扩展应⽤程序。1. Release Notes

JAXB Reference Implementation需要运⾏在J2SE 5.0或者更⾼的Java平台上。需要的JAR⽂件如下:

2.0运⾏环境:为Deploy JAXB2.0客户端所需要的JAR⽂件包括,,jsr173-1.0_1.0运⾏环境:为Deploy JAXB1.0客户端所需要的JAR⽂件包括2.0运⾏环境+

2. XJC⼯具

虽然在笔者的其他⽂章中,包含了关于XJC脚本⽂件的使⽤,但是为了保持⽂章的完整性,将XJC脚本的内容再次追加在本⽂中。

绑定schema表⽰⽣成⼀系列的Java类,这些java类表⽰了schema。所有的JAXB实现都提供了⼀个⼯具叫做绑定编译器来将⼀个schema绑定。例如,JAXB参考实现提供了⼀个绑定编译器,允许通过脚本来执⾏(shell/bat)。假设需要将⽂件进⾏绑定,并且假设是⼯作与*nix系统,那么绑定的命令如下:

-p -d work

选项说明:

-p:指定⽣成的类的包名

-d:指定存放类的⽬标⽬录

(译者注:其实绑定schema还有其他的选项和⽅法,例如Eclispe的xjc插件等)

C:/Documents and Settings/hp3643>xjc --help

Usage: xjc [-options ...] ... [-b ] ...

Options:

-nv: 不进⾏输⼊schema的严格检查,默认情况下,XJC会进⾏严格的Schema检查,使⽤这个选项可以不进⾏严格的Schema检查,只是进⾏不太严格的检查 -extension: 默认情况下,XJC绑定编译器强制执⾏JAXB规范中的兼容性部分的规则,Appendix E.2定义了⼀些列JAXB v1.0所不⽀持的W3C XML Schema特性。这时,就可以使⽤-extension模式来⽀持这些特性。在默认情况下,只能使⽤规范中定义的绑定⾃定义。通过使⽤-extension选项,可以使⽤JAXB提供商扩展。 -b : 指定外部绑定⽂件(每个要有⾃⼰的-b,与出现顺序⽆关)

xjc -b

xjc -b -b -b -d

: ⽣成⽂件的⽬标路径,默认情况下在当前⽬录⽣成Java内容类,⽬标⽬录必须已经存在,XJC不会⾃动创建这些⽬录

-p : 指定⽬标包名

-httpproxy : 设置HTTP/HTTPS代理,格式为[user[:password]@]proxyHost[:proxyPort]

-classpath : 指定⽤户的类路径

-catalog : 指定范畴⽂件,⽤于处理外部实体应⽤,⽀持TR9401, XCatalog, and OASIS XML Catalog格式.

-readOnly: ⽣成的⽂件的状态为只读

-npa: 不⽣成包级别的annotations

-xmlschema: 将输⼊当作W3C XML Schema (默认)处理

-relaxng: 将输⼊当作RELAXNG (试验阶段,不⽀持)处理

-relaxng-compact: 将输⼊当作RELAXNG comapact语法 (试验阶段,不⽀持)处理

-dtd: 将输⼊当作XML DTD (experimental,unsupported)

-wsdl: 将输⼊当作WSDL处理(experimental,unsupported)

-verbose: 额外的显⽰

-quiet: 不输出编译结果 -help: 显⽰帮助信息

-version: 显⽰版本信息

Extensions:

-Xlocator: 对⽣成的代码启⽤源代码位置⽀持

-Xsync-methods: ⽣成访问的⽅法标志为''synchronized''关键字

-mark-generated: 将⽣成的代码标记为@ted

windows下运⾏命令:F:/eclipse/workspace/JAXBTutorial/src>xjc -p -d . text/jaxp/(译者注:译者的系统中安装了Java(TM) Web Services Developer Pack 2.0,安装⽬录为C:/Sun/jwsdp-2.0,并将C:/Sun/jwsdp-2.0/jaxb/bin添加到了系统的path环境属性中)parsing

compiling

test/jaxb/

test/jaxb/

test/jaxb/

test/jaxb/

运⾏完上述命令后,会⽣成⼀些类。

3. XJC Ant Task

在jwsdp或者其他的jaxb ri库中,都包含了这个⽂件,在这个⽂件中,包含了⽂件,这个⽂件可以应⽤于Ant构建⼯具中。在Ant构建脚本(⼀般为)中包含如下的语句:

上⾯的task定义将XJCTask映射到Ant task,并命名为xjc。在样例程序中包含了如何使⽤xjc任务。

该任务的语法如下:

环境变量:

ANT OPTS –将命令⾏参数传递给JVM。例如定义系统属性或者设置最⼤的Java堆⼤⼩。

参数属性:

xjc⽀持以下的参数属性:

schema:xml schema⽂件。这个属性或者⼦元素必须包含⼀个。

binding:外部绑定⽂件,应⽤于schema⽂件。

package:如果指定了的话,那么⽣成的java⽂件会放在这个包下,与命令⾏参数-p⼀样。

destdir:⽬标⽬录,与命令⾏参数-d⼀样。必须属性。

readonly:是否以只读⽅式⽣成java源⽂件,默认为false。

extension:如果设置为true,那么XJC绑定表⼀起会以扩展⽅式运⾏,否则的话,会按照严格的⽅式运⾏。和命令⾏⼯具的-extension参数⼀样。

catalog:指定分类⽂件来处理外部实体引⽤。

removeOldOutput:和⼦元素承兑使⽤。当设置为yes时,由元素指向的⽂件会在运⾏XJC编译器之前删除。

source:指定使⽤哪个版本的编译器。可以是1.0或者2.0.⽣成的Java代码会参考JAXB1.0或者JAXB2.0规范制定的规则。

xjc⽀持下⾯的嵌套元素:

schema:同时编译⼀个或者多个schema,schema⼦元素的语法和相同。

binding:可以同时指定⼀个或者多个外部绑定⽂件,binding⼦元素的语法和相同。

classpath:指定由⽤户指定的类路径。

arg:⼀些额外的命令⾏参数。这个元素可以指定多个选项:

-nv

-use-runtime

-schema

-dtd

-relaxng

-Xlocator

-Xsync-methods

下⾯是⼀些使⽤XJC Task的例⼦: 下⾯是⼀些使⽤XJC Task的例⼦:

编译src/,⽬标⽬录为src,包名为:

编译src下⾯的所有schema⽂件,⽬标⽬录为src,包名默认:

编译src下⾯的所有schema⽂件,⽬标⽬录为src,绑定为src⽬录下的所有xjb⽂件:

由于ant默认需要fileset中的⽂件夹必须存在,所以mkdir是必须的,下⾯的例⼦做了⼀个up-to-date的检查,如果有更新的话,那么src/org/acme/foo和其impl⼦⽬录的⽂件在编译之前就会被删除,所以不要将⾃⼰编写的类⽂件放在上述两个⽬录中。

更加复杂的up-to-date检查,如果xsd进⾏了更新,或者dtd⽂件进⾏了更新,都需要进⾏重新的编译schema。

使⽤arg⼦元素:

设置环境变量或者系统属性:

> set ANT_OPTS=-ost=

> set ANT_OPTS=%ANT_OPTS% -ort=8080

> ant

4. SchemaGen⼯具

schema⽣成器可以通过schemagen shell脚本或者bat批处理⽂件来运⾏。⽬前schema⽣成器可以处理java源⽂件或者class⽂件。

同时,也提供了Ant task的⽅式来运⾏Schema⽣成器。

对于不同的操作系统,使⽤这个⼯具的例⼦如下:

For Solaris/Linux

% path/to/jaxb/bin/ ...

For WindowsNT/2000/XP

> path/to/jaxb/bin/ ...

注意:默认的schema⽂件的⽂件名为。

如果Java源⽂件或者类⽂件需要参考其他的类,那么必须可以通过系统的CLASSPATH来访问,或者需要指定-classpath选项,否则的话,会发⽣错误。

命令⾏参数:

Usage: schemagen [options ...]

Options:

-d :指定将处理器和javac⽣成的类⽂件放在哪个⽬录中

-cp :⽤户指定⽂件的⽬录

-classpath :⽤户指定⽂件的⽬录

-help:显⽰帮助信息 -help:显⽰帮助信息

⽬前schema⽣成器为Java类⽂件使⽤的名称空间⽣成schema⽂件。没有办法控制⽣成的schema⽂件的名字,可以使⽤Ant任务来完成这个功能。

5. Schema⽣成器的Ant Task

⽂件中包含了⽂件,这样就可以在Ant构建⼯具中使⽤schema⽣成器了。SchemaGenTask的定义如下:

发布者:admin,转转请注明出处:http://www.yc00.com/xiaochengxu/1688382967a129741.html

相关推荐

发表回复

评论列表(0条)

  • 暂无评论

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信