`

ant macrodef example

阅读更多

<macrodef name="cxfrun">
        <attribute name="logging-properties-file" default="${cxf.etc.dir}/logging.properties"/>
        <attribute name="classname"/>
        <attribute name="param1" default=""/>
        <attribute name="param2" default=""/>
        <attribute name="param3" default=""/>
        <attribute name="param4" default=""/>
        <attribute name="param5" default=""/>
        <attribute name="jvmarg1" default="-D' '"/>
        <attribute name="jvmarg2" default="-D' '"/>
        <attribute name="jvmarg3" default="-D' '"/>
        <attribute name="jvmarg4" default="-D' '"/>
        <attribute name="jvmarg5" default="-D' '"/>
        <sequential>
            <java classname="@{classname}" fork="yes">
                <classpath>
                    <path refid="cxf.classpath"/>
                    <pathelement path="${thirdparty.classpath}"/>
                    <path refid="jdk.tools.classpath"/>
                </classpath>
                <arg value="@{param1}"/>
                <arg value="@{param2}"/>
                <arg value="@{param3}"/>
                <arg value="@{param4}"/>
                <arg value="@{param5}"/>
                <jvmarg value="@{jvmarg1}"/>
                <jvmarg value="@{jvmarg2}"/>
                <jvmarg value="@{jvmarg3}"/>
                <jvmarg value="@{jvmarg4}"/>
                <jvmarg value="@{jvmarg5}"/>
                <!--assertions>
                    <enable package="org.apache.cxf"/>
                </assertions-->
                <sysproperty key="java.util.logging.config.file" value="@{logging-properties-file}"/>
            </java>
        </sequential>
    </macrodef>

    <macrodef name="wsdl2java">
        <attribute name="srcdestdir" default="${build.src.dir}"/>
        <attribute name="destdir" default="${build.classes.dir}"/>
        <attribute name="file"/>
        <attribute name="servicename.arg" default=""/>
        <attribute name="bindingfile" default=""/>
        <attribute name="dir" default="${wsdl.dir}"/>
        <attribute name="package" default="NOT_SPECIFIED"/>
        <sequential>
            <mkdir dir="@{destdir}"/>
            <mkdir dir="@{srcdestdir}"/>
            <condition property="package.arg.@{file}" value="-p @{package}">
                <not>
                    <equals arg1="@{package}" arg2="NOT_SPECIFIED"/>
                </not>
            </condition>
            <property name="package.arg.@{file}" value=""/>
            <condition property="binding.arg" value='-b "@{bindingfile}"'>
                <not>
                    <equals arg1="@{bindingfile}" arg2=""/>
                </not>
            </condition>
            <property name="binding.arg" value=""/>
            <java failonerror="true" classname="org.apache.cxf.tools.wsdlto.WSDLToJava" fork="yes">
                <classpath>
                    <path refid="cxf.classpath" />
                </classpath>
                <sysproperty key="java.util.logging.config.file" value="${cxf.etc.dir}/logging.properties"/>
                <sysproperty key="exitOnFinish" value="true"/>
                <arg line="@{servicename.arg}"/>
                <arg line="${package.arg.@{file}}"/>
                <arg line="${binding.arg}"/>
                <arg value="-verbose"/>
                <arg value="-d"/>
                <arg value="@{srcdestdir}"/>
                <arg value="@{dir}/@{file}"/>
            </java>
        </sequential>
    </macrodef>

    <macrodef name="cxfwar">
        <attribute name="filename"/>
        <attribute name="wsdl"/>
        <attribute name="dir" default="${war.dir}"/>
        <attribute name="classesdir" default="${build.classes.dir}"/>
        <sequential>
            <mkdir dir="@{dir}"/>
            <war destfile="@{dir}/@{filename}" webxml="${cxf.home}/etc/web.xml">
                <classes dir="@{classesdir}"/>
                <webinf dir="${wsdl.dir}">
                    <include name="cxf-servlet.xml"/>
                </webinf>
                <webinf dir="${wsdl.dir}/..">
                    <include name="wsdl/@{wsdl}"/>
                </webinf>
            </war>
        </sequential>
    </macrodef>

分享到:
评论
1 楼 xgj1988 2010-05-31  

相关推荐

    关于ANT脚本中使用macrodef

    在Ant构建工具中,`macrodef`是一个非常重要的特性,它允许我们定义可重用的任务或片段,类似于编程语言中的函数或宏。这使得Ant脚本更加模块化,提高了代码的可读性和维护性。本资源是作者在处理将文件复制到远程...

    ant ant ant ant

    "Ant ant ant antant ant ant antant ant ant ant" 这个描述可能是在强调Ant在项目构建过程中的重复性和不可或缺性,暗示着它在工程中的频繁使用和核心地位。 Ant的设计理念是“一切都是XML”,它通过XML格式的构建...

    apache-ant-1.6.5-bin.zip_ ant 1.6.5_ant_ant-1.6.5_apache ant win

    Apache Ant 是一个开源的构建工具,广泛用于Java项目构建,由Apache软件基金会开发。这个"apache-ant-1.6.5-bin.zip"文件是Ant的1.6.5版本的二进制发行版,适合在Windows操作系统上使用。Ant是基于Java的,它的主要...

    开发工具 ant-1.9.6

    开发工具 ant-1.9.6开发工具 ant-1.9.6开发工具 ant-1.9.6开发工具 ant-1.9.6开发工具 ant-1.9.6开发工具 ant-1.9.6开发工具 ant-1.9.6开发工具 ant-1.9.6开发工具 ant-1.9.6开发工具 ant-1.9.6开发工具 ant-1.9.6...

    ant ant下载与配置

    ant ant下载 ant配置ant ant下载 ant配置ant ant下载 ant配置

    ant.jar下载

    org.apache.tools.ant.Main org.apache.tools.ant.Task org.apache.tools.bzip2.CRC org.apache.tools.ant.Target org.apache.tools.ant.Project org.apache.tools.zip.ZipFile org.apache.tools.zip.ZipLong ...

    Ant参考教程,Ant使用指南,Ant全攻略

    "Ant+Tutorial.doc"可能深入到Ant的高级特性,包括使用条件语句(if/else)、属性文件、通配符选择器、宏定义(macrodef)以及自定义任务。通过属性文件,可以外部化配置信息,使构建更具灵活性。宏定义则允许用户...

    apache官方ant-1.10.11版本压缩包

    6. **宏定义(Macrodef)**:宏定义是可重用的任务集合,它们可以封装复杂的构建逻辑,提高代码的可维护性。 7. **插件(Plugins)**:Ant的可扩展性主要通过插件实现,这些插件可以添加新的任务或功能,如Maven...

    Ant权威指南(ant 学习)

    宏定义(MacroDef)则是为常见任务提供模板,简化脚本编写。 七、属性(Properties) 属性在Ant中用于存储值,可以在脚本中引用和传递。它们可以是全局的,也可以在特定的目标或任务中定义。Ant还支持属性文件,...

    apache-ant-1.9.14.zip

    - **宏定义(Macrodef)**:Ant允许用户定义自己的宏,以复用复杂的任务逻辑。 - **自定义任务(Custom Tasks)**:如果内置任务不能满足需求,开发者可以编写Java类来创建自定义任务。 6. **Ant与其他工具的集成...

    travis-java-ant-example:关于如何在 java + ant 中使用 travis 的简单 hello-world 示例

    travis-java-ant-example 关于如何在 java + ant 中使用 travis 的简单 hello-world 示例

    apache-ant-1.6.0-bin.zip_ant 1_ant 1.6_ant 1.6.0_ant-1.6.0_apach

    标签中的"ant_1", "ant_1.6", "ant_1.6.0", "ant-1.6.0"和"apache-ant-1.6"都指的是Apache Ant的不同版本,1.6.0是其中的一个稳定版本,发布于2003年,提供了许多改进和新特性,比如支持JUnit 3.8,对ivy依赖管理...

    apache-ant-1.8.2

    Ant还支持条件语句(If/Unless)、循环(For/ForEach)、包含其他构建文件(Import)以及宏定义(Macrodef),这些使得Ant的构建脚本可以实现复杂的逻辑。 在VanetMobiSim的构建过程中,Ant可能会执行以下步骤: 1....

    ant发送邮件依赖jar包.rar

    在Java开发中,Ant是一个广泛使用的自动化构建工具,它能够帮助开发者编译、打包、测试以及部署应用程序。Ant是基于XML的,通过定义任务(tasks)来执行各种构建过程。在"ant发送邮件依赖jar包.rar"这个压缩文件中,...

    ant.jar,ant-junit.jar,ant-launcher.jar,ant-trax.jar

    在IT行业中,Ant是一个至关重要的自动化构建工具,尤其在Java开发领域中被广泛使用。Ant以其XML为基础的构建文件(通常命名为build.xml)为特点,允许开发者定义和执行项目的构建任务。现在,让我们深入探讨一下标题...

    Axure AntDesign元件库

    Axure AntDesign元件库是一款专为Axure设计的高质量组件集合,它旨在帮助原型设计师快速构建基于AntDesign设计系统的Web应用界面。AntDesign是阿里巴巴开源的一款著名前端UI框架,以其优雅、直观、高效的特性广受...

    apache-ant-1.9.16-bin.zip

    Apache Ant 是一个开源的构建工具,广泛用于Java项目管理,它是Apache软件基金会的产品之一。Ant以其XML为基础的构建文件(build.xml)而著名,这种文件定义了构建过程中的任务序列,使得开发人员能够自动化编译、...

    ant工具ant资源包

    Apache Ant 是一个由Java编写的构建工具,它主要用于自动化软件项目的构建、编译、测试和部署过程。这个“ant工具ant资源包”很可能是Apache Ant的一个版本,具体为1.8.3。Ant以XML为基础来描述项目构建的规则和依赖...

    ant1.9包下载

    Apache Ant是Java开发中不可或缺的构建工具,它以其灵活性、可扩展性和跨平台特性而闻名。标题中的"ant1.9包下载"指的是Apache Ant 1.9系列的版本,这是该工具的一个重要里程碑,提供了许多增强的功能和修复了已知...

    apache ANT 源代码

    7. **Macrodef**:宏定义允许用户创建自定义的任务模板,这样可以重用代码并减少构建文件的复杂性。 8. **AntContrib库**:虽然Ant自身已经非常强大,但有时仍需额外功能,如数学运算、循环等,这时可以引入...

Global site tag (gtag.js) - Google Analytics