ant 生成 xml
来源:互联网 发布:淘宝中年女装连衣裙 编辑:程序博客网 时间:2024/05/25 20:01
利用 XMLBean 读写 xml 文件非常的方便,主要是通过 xml 文件生成 xsd 即所谓的 Schema 文件,然后利用 scomp (是 XMLBean 提供的一个编译工具 , 它在 bin 的目录下), 通过这个工具,我们可以将以上的 Schema 文件生成 Java Classes 。这一步要如果通过 Ant 来实现,显得非常的方便和简单,如下: (务必注意,要将jsr173_1.0_api.jar加入ant目录下的lib中,否则,会报错)
首先定义 build.properties 文件:
build.dir=classes
jar.dir=jar
xsd.dir=xsd
xbean.dir=lib
这个文件主要定义的是一些路径的名称,放在配置文件里面比较容易修改,下面的是 build.xml 文件:
<project default="build" basedir=".">
<property file="build.properties" description="Transfer property from .properties file"/>
<taskdef name="xmlbean" classname="org.apache.xmlbeans.impl.tool.XMLBean" classpath="${xbean.dir}/xbean.jar"/>
<xmlbean classgendir="${build.dir}" classpath="${class.path}" failonerror="true">
<fileset dir="${xsd.dir}" includes="**/*.*"/>
</xmlbean>
<xmlbean schema="${xsd.dir}" destfile="${jar.dir}/Schemas.jar"/>
</project>
其中的具体意义,可以参阅:
http://dev2dev.bea.com.cn/download/school/workshop/WorkshopCNHelp/doc/zh/core/index.html
http://dev2dev.bea.com.cn/download/school/workshop/WorkshopCNHelp/doc/zh/core/index.html
示例
请务必在脚本中定义任务,如下所示:
<taskdef name="xmlbean" classname="org.apache.xmlbeans.impl.tool.XMLBean" classpath="path/to/xbean.jar" />
下面的脚本在 Schema 目录中生成所有 Schema ,并创建一个名为 Schemas.jar 的 jar 文件。
<xmlbean schema="schemas" destfile="Schemas.jar"/>
下面的脚本将 Schema“ourSchema.xsd” 编译成默认 jar“xmltypes.jar” 。 如果远程 URL 定义了任何导入和包括,将在生成期间下载它们。
<xmlbean schema="schemas/ourSchema.xsd" download="true"/>
使用文件组
<xmlbean classgendir="${build.dir}" classpath="${class.path}"
failonerror="true">
<fileset basedir="src" excludes="**/*.xsd"/>
<fileset basedir="schemas" includes="**/*.*"/>
</xmlbean>
收集 src 目录中除 XSD 文件以外的所有文件,以及 schemas 目录中的每一个文件,并编译它们。文件组可以包括引用了以前所编译的 Schema 组件的 Schema 文件。 文件组还可以包含 JAVA 文件。 classpath 参数定义在解析编译后的 Schema 和 java 引用时所需的类路径。
所生成的类将转入 ${build.dir} 。
参数
特性
描述
必需
Schema
指向单个 Schema 文件或文件目录的文件。 非路径引用。 如果需要同时生成多个 Schema 文件,应使用嵌套的文件组,而不要设置 Schema 。
是,除非嵌套了一个文件组元素。
destfile
定义所创建的 jar 文件的名称。 例如, “myXMLBean.jar” 会将该任务的结果输出到同名的 jar 中。
否,默认为 “xmltypes.jar” 。
download
设置为 true 将允许编译器下载要导入和包括的 URL 。 默认为 false ,这意味着所有导入和包括的内容都必须在本地进行复制。
否,默认为 false 。
failonerror
确定当 XMLBean 创建过程遇到生成错误时, ant 目标是否将继续。
否,默认为 true 。
verbose
控制生成消息的输出量。
否,默认为 true 。
typesystemname
应在其中生成 TypeSystemHolder 类的包的名称。 通常不应指定该名称。该包中将不会生成 XMLBean 。使用 .xsdconfig 文件可以修改 XMLBean 包或类名。
否
classgendir
设置用来存放所生成的 CLASS 文件的位置。
否
srconly
true 值意味着只生成源代码。
否,默认为 false 。
srcgendir
设置用来存放所生成的 JAVA 文件的位置。
否
classpath
在下列情况下要用到的类路径:如果文件组中的 Schema 将导入由其他编译后的 XMLBean JAR 文件所提供的定义,或者 JAVA 文件位于 Schema 文件组中。此外,还支持嵌套的类路径。
否
classpathref
添加类路径,并将其作为对在其他位置所定义的路径的 引用 。
否
includes
必须包括的文件模式的列表,以逗号或空格分隔。如果忽略,将包括所有文件。
否
includesfile
文件名。该文件的每一行都将作为一个 include 模式。
否
excludes
必须排除的文件模式的列表,以逗号或空格分隔。如果忽略,将不会排除任何文件(默认排除的文件除外)。
否
excludesfile
文件名。该文件的每一行都将作为一个 exclude 模式。
否
defaultexcludes
指出是否应使用默认排除( “yes”/“no” )。如果忽略,将使用默认排除。
否
debug
指出是否应该在带调试信息的情况下编译源代码,默认为 off
。如果设置为 off
, -g:none
将传递到支持它的编译器的命令行(对于其他编译器,将不会使用命令行参数)。如果设置为 true
, debuglevel
特性的值将决定命令行参数。
否
debuglevel
要追加到 -g
命令行开关后面的关键字列表。这将会被除 modern
和 classic(ver >= 1.2)
以外的所有实现忽略。合法值是 none
或下列关键字的逗号分隔列表: lines
、 vars
和 source
。如果不指定 debuglevel
,则默认情况下,将不会在 -g
的后面追加任何关键字。如果不打开 debug
,该特性将被忽略。
否
optimize
指出是否应该用优化方式编译源代码,默认为 off
。
否
includeAntRuntime
指出是否应在类路径中包括 Ant 运行时程序库,默认为 yes
。
否
includeJavaRuntime
指出是否应在类路径中包括来自执行 VM 的默认运行时程序库,默认为 no
。
否
fork
是否应在外部使用 JDK 编译器执行 javac
,默认为 yes
。
否,默认为 true
executable
当 fork="yes"
时应使用的 javac
可执行文件的完整路径。默认为当前运行 Ant 的 Java 版编译器。如果 fork="no"
,该参数将被忽略。
否
memoryInitialSize
如果 javac
在外部运行,则是底层 VM 的初始内存大小;否则将被忽略。默认为标准 VM 内存设置。(例如: 83886080
、 81920k
或 80m
)
否
memoryMaximumSize
如果 javac
在外部运行,则是底层 VM 的最大内存大小;否则将被忽略。默认为标准 VM 内存设置。(例如: 83886080
、 81920k
或 80m
)
否
compiler
要使用的编译器实现。如果未设置该特性,将使用 build.compiler
属性的值(如果设置)。否则,将使用当前 VM 的默认编译器。
- ant 生成 xml
- Eclipse 自动生成 Ant的Build.xml
- Ant编译生成war文件的build.xml文件示例
- 【转载】Eclipse 自动生成 Ant的Build.xml 配置文件
- myeclipse如何生成ant需要的build.xml
- Eclipse 自动生成 Ant的Build.xml 配置文件
- Eclipse 自动生成 Ant的Build.xml 配置文件
- Android项目使用Ant打包,自动生成build.xml
- Android项目使用Ant打包,自动生成build.xml
- Android项目使用Ant打包,自动生成build.xml
- Android项目使用Ant打包,自动生成build.xml
- Ant 打包war 生成文件内容build.xml
- Ant 打包war 生成文件内容build.xml
- Android项目使用Ant打包,自动生成build.xml
- Android项目使用Ant打包,自动生成build.xml
- Android项目自动生成build.xml,用Ant打包
- Android项目使用Ant打包,自动生成build.xml
- Ant 打包war 生成文件内容build.xml
- 笔记本无线对接--点对点连接上网设置方案
- 【译文】10 ASP.NET Performance and Scalability Secrets
- css中padding、margin两个重要属性的详细介绍及举例说明
- AjaxControlToolkit之AutoCompleteExtender控件
- Sybase学习日志
- ant 生成 xml
- 阻止关机的完美实现
- 百度(baidu)分词算法分析(一)
- 从零开始学习jQuery (一) 开天辟地入门篇
- 时间管理
- 转百度(baidu)中文分词算法分析(二)
- 伊娃帕克甜蜜私房照
- 从零开始学习jQuery (二) 万能的选择器
- 写在前面