`
meetrice
  • 浏览: 196645 次
  • 来自: 南京
社区版块
存档分类
最新评论

ant使用javascript脚本在copy命令时使用filter替换属性

阅读更多
问题:
项目中有一些配置文件中,在部署时需要根据文件的物理目录,使用ant的copy命令中的filter自动替换,而filter.取得文件当前的物理路径使用的是 basedir=".",在windows环境下,目录的路径分隔符自动解析成"\",需要在替换配置时把"\"改成"/"

解决:
ant有replace命令,但是却没有发现可以在执行命令时动态改变ant属性和过滤属性的能力,于是在网友郁也风的提示下,使用javascript脚本来完成这个任务.

环境:   eclipse(workshop studio),ant1.6.5
步骤:
1.ant支持javascript脚本需要如下几个包: bsf.jar, js.jar,log4j.jar,commons-logging.jar,他们的作用,就不多说了
2.原ant的build.xml里是这么写的:
<project name="**" default="usage" basedir=".">
<property name="build.dir" value="${basedir}/work"/>
<filter token="build.dir" value="${build.dir}"/>
  <target name="copy" depends="**">
  <copy todir="${build.dir}/etc" filtering="yes" overwrite="${filter.overwrite}">
   <fileset dir="etc">
    <include name="**/*"/>
    <exclude name="**/*.gif"/>
    <exclude name="**/*.jpg"/>
    <exclude name="**/*.png"/>
   </fileset>
  </copy>
  </target>
</project>


3.把原build.xml中的filter去掉,在此任务中加入:
<script language="javascript"> 
<![CDATA[
project.addFilter("build.dir",project.getProperty("build.dir").replace("\\", "/"));
]]> 
</script>

这样在copy的时候,此filter的内容就换过来了.

分享到:
评论

相关推荐

    Ant构建中使用JS脚本方法

    3. **执行脚本**:使用`&lt;scriptdef&gt;`元素可以定义一个新的Ant任务,这个任务在运行时会执行JavaScript代码。这使得你能够创建自定义的任务,这些任务的行为完全由JavaScript代码控制。 4. **交互与控制流**:...

    Ant和批处理脚本.rar

    将Ant和批处理脚本结合使用,可以在Windows环境中实现更强大的自动化流程。例如,Ant可以负责Java项目的构建和测试,而批处理脚本可以用来设置环境变量、启动服务器或者执行系统级别的清理工作。这样的组合既利用了...

    ant批量打包脚本

    在Android或Java开发中,"ant批量打包脚本"是一个非常实用的技巧,它可以帮助开发者高效地完成应用的打包工作,尤其在面临多版本、多渠道发布时更为显著。Ant是Apache组织提供的一款开源构建工具,类似于Java领域的...

    java项目ant打包脚本

    当你在命令行中输入`ant`命令时,实际上是运行了这个批处理文件。这个脚本会设置必要的环境变量,并调用Java来执行Ant的主类`org.apache.tools.ant.Main`,从而启动Ant构建过程。 4. **`build.xml`文件**: `build...

    ant脚本资料ant

    通过阅读`命令.txt`、`ant知识.txt`、`ant构建Java.txt`、`ant例子.txt`这些文件,你可以深入了解Ant的使用方法,包括命令行调用、具体的构建步骤、Java项目构建实例以及各种任务的实践应用。这些资料将帮助你掌握...

    ant脚本编译jar

    本文将深入探讨如何使用`Ant`脚本来编译并创建一个`JAR`文件,以此来理解`Ant`脚本的工作原理和实际应用。 `Ant`是Apache软件基金会开发的一款开源构建工具,它使用XML格式定义构建过程,具有高度可配置性和可扩展...

    ant学习笔记之(ant执行命令的详细参数和Ant自带的系统属性)

    本篇文章将深入探讨Ant执行命令的详细参数以及Ant自带的系统属性,帮助开发者更好地理解和使用Ant。 一、Ant执行命令参数 1. `-buildfile &lt;file&gt;`、`-file&lt;file&gt;`、`-f&lt;file&gt;`:这三个参数都是用来指定构建文件的...

    常用的ANT蚂蚁脚本

    ANT蚂蚁脚本是一种基于XML的构建工具,广泛用于Java项目的自动化构建、编译、测试和部署等任务。...这些脚本对于理解ANT的工作原理,以及在实际开发环境中如何使用ANT进行项目管理具有很高的参考价值。

    ant 脚本从svn上取代码打包代码全,同时包括相关的jar包

    在Java开发过程中,Ant广泛用于自动化构建流程,尤其是在没有使用集成开发环境(IDE)时。在给定的场景中,"ant 脚本从svn上取代码打包代码全,同时包括相关的jar包",这意味着我们需要了解如何用Ant配合Subversion...

    Ant使用详细介绍(中文版)

    Ant 的运行,靠的是一个构建脚本,默认的名称叫 build.xml,如果你在任何目录下运行 ant 命令,Ant 将自动查找当前目录下有没有 build.xml 文件,如果有这个文件,就读取这个文件,并运行其中的默认 target。...

    ant编译命令总结

    Apache Ant 编译命令总结 Apache Ant 是一个基于 Java 的生成工具,主要用来将源代码和其他输入文件转换为可执行文件的形式,或者转换为可安装的产品映像形式。Ant 在软件开发中扮演着重要角色,确保在每次生成期间...

    Ant脚本详解说明

    Ant是一个Apache基金会下的跨平台的构件工具,它可以实现项目的自动构建和部署等功能。在本文中,主要熟悉怎样将Ant应用到Java项目中,让它简化构建和部署操作。

    teamcity-ant脚本.rar

    在TeamCity中配置Ant构建时,你需要提供Ant构建脚本的路径,以及可能需要的任何属性或参数。TeamCity会自动检测到Ant的安装,并运行指定的脚本来执行构建过程。 4. **构建配置** 在TeamCity中,创建一个新的构建...

    ANT文件详解 ant介绍 ANT 命令

    ### ANT文件详解:深入理解ANT及其在项目构建中的应用 #### Ant的概念与起源 Ant,全称为Apache Ant,是一款开源的、跨平台的项目构建工具,最初由James Duncan Davidson开发,现归属于Apache软件基金会Jakarta...

    ANT打包命令详解api指令

    ANT的灵活性还体现在可以使用`property`元素定义和引用变量,如示例中设置`src`、`dest`等属性,使得构建脚本更易于维护。`depends`属性用于定义任务间的依赖关系,例如`compile`任务依赖`init`任务,这意味着在编译...

    Ant 脚本详解

    在本文中,我们将深入探讨Ant脚本的各个方面。 ### Ant的基本结构 Ant的核心是构建文件,这个文件通常以XML格式编写,包含了多个目标(target)和任务(task)。目标是一系列任务的集合,它们按照特定顺序执行。...

    替换文本文件中Ant表达式的Ant扩展任务

    该程序为Ant的扩展任务,在拷贝文本格式的文件的同时替换文件中的Ant表达式,类似于 ${property.name},属性值来自于Ant脚本加载的属性文件,如果没有属性文件中没有定义相关属性,那么保留原来的表达式;...

    ant 使用指南-ant入门

    - **属性(Properties)**:Ant支持定义和使用属性,类似于变量,可以用于在整个构建文件中传递值。 - **任务(Tasks)**:Ant提供了一系列内置的任务,如`&lt;javac&gt;`用于编译Java源码,`&lt;copy&gt;`用于复制文件,`...

    jenkins+ant的build脚本

    用于jenkins+ant部署jmeter脚本,用于jenkins+ant部署jmeter脚本,

    ant build脚本代码

    文章中可能包括了如何定义属性(property)来存储渠道标识、如何使用条件(condition)来根据属性值选择不同的打包流程,以及如何利用Ant的copy或replace任务来修改资源配置以适应不同渠道。 在压缩包文件"antbuild...

Global site tag (gtag.js) - Google Analytics