Ant 任务

2023-12-28

我现在看到 Ant 既有<include>任务和一个<import> task.

根据描述:

Include

将另一个构建文件包含到当前项目中。

and

Import

将另一个构建文件导入到当前项目中。

那么,为什么要使用其中一种而不是另一种呢?

这是我的实际问题:

在我们当前的构建系统中,我们连接一堆 JavaScript,然后最小化它们。 JavaScript 位于十几个不同的目录中,我们从每个目录中批量获取并将它们连接成五到六个超级最小化的 JavaScript。其中一些文件被复制到多个超级 JavaScript 中。

为了使调试更容易,并且构建更灵活,我想将所有文件复制到target/work/resources2目录下的每个子目录代表不同的超级最小化 JavaScript。出于调试目的,我们将包含非最小化的超级 JavaScript 和原始版本。构建脚本并不复杂,但整个部分占用了很多行。我正在考虑把<copy>填充到一个单独的 XML 文件中,所以整个事情看起来像这样:

<target name="process-resources"
     description="Concatenate and minimize the JavaScripts (using Maven lifecycle names for our targets">
     <!-- The following include the copying stuff -->
     <here.be.dragons file="${basedir}/reservations.xml"/>
     <here.be.dragons file="${basedir}/date.xml"/>
     <here.be.dragons file="${basedir}/select.xml"/>

     <for param="concat.dir">
         <fileset dir="${work.dir]/resources2"/>
         <sequential>
            <here.I.am.concatenating.and.minimizing/>
         </sequential>
    </for>
</target>

我看到有四种可能性:

  • Use <ant/>调用进行复制的文件
  • Use <import/>(这可能不起作用,因为它可能无法包含在目标中)
  • Use <include/>(这可能不起作用,因为它可能无法包含在目标中)
  • Use the 实体包括 http://ant.apache.org/faq.html#xml-entity-include.

我从不热衷于使用<ant/> or <antcall>尽管现在可能是这样做的好时机。实体包含的想法会起作用,但这是大多数人不理解的事情,我担心这会给那些必须支持我正在做的事情的人带来困惑。这<import> and <include>在这种情况下可能无法使用,但我仍然很好奇有什么区别。


进口文件解释了差异 http://ant.apache.org/manual/Tasks/import.html:

导入与包含有何不同?

简短版本:如果您打算覆盖目标,请使用 import,否则使用 include。

使用导入时,导入的目标最多可以有两个名称。它们的“正常”名称没有任何前缀,并且可能带有前缀名称(as 属性的值或导入项目的 name 属性,如果有的话)。

使用 include 时,包含的目标仅以前缀形式可用。

使用导入时,导入目标的依赖属性保持不变,即它使用“正常”名称并允许您覆盖依赖项列表中的目标。

使用 include 时,包含的目标不能被覆盖,并且它们的依赖属性将被重写,以便使用前缀名称。这允许包含文件的编写者控制作为依赖项的一部分调用哪个目标。

可以通过使用不同的前缀多次包含同一文件,但不可能多次导入同一文件。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Ant 任务 的相关文章

  • Isabelle 错误无法更新完成的理论“HOL.Finite_Set”是什么意思?

    我正在尝试使用该理论Finite Set thy但是当我导入它时 imports ISABELLE HOME SRC HOL Finite Set 我正在研究的理论尚未解析 当我打开理论本身时 我收到以下错误 无法更新已完成的理论 HOL
  • 使用 loadtxt 简化多个文件的导入 (Python)

    我想简化使用 loadtxt 导入多个文件的方式 我执行以下操作 rc1 loadtxt 20120701 Gp xr 5m txt skiprows 19 rc2 loadtxt 20120702 Gp xr 5m txt skiprow
  • 无法确定接口 com.android.builder.model.AndroidProject 的类路径

    当我将Eclipse项目导入Android Studio时 我遇到了这个问题 Gradle XNote project refresh failed Error Could not determine the class path for
  • 添加自签名证书而不提示用户是/否

    使用一些批处理文件 我想在 Java 密钥库中添加不受信任的自签名证书 命令是 JAVA HOME bin keytool import v trustcacerts alias server alias file server cer k
  • 使用 ff 包导入文本文件

    我有一个包含 450 万行和 90 列的文本文件要导入到 R 中 read table我得到了cannot allocate vector of size 错误消息 因此我尝试使用 ff 包导入 然后再对数据进行子集化以提取我感兴趣的观察结
  • 无法导入 python-mysqldb

    我使用安装了 python mysqldb sudo apt get install python mysqldb 我尝试使用它但没有成功 以下命令在 Python 提示符下不起作用 import python mysqldb Or imp
  • 我在 php 中执行的这个 include 语句有什么问题吗? [关闭]

    Closed 这个问题需要调试细节 help minimal reproducible example 目前不接受答案 我希望这篇文章发布在我的网站上 但它给出了错误 解析错误 语法错误 第 1 行 opt lampp htdocs whi
  • Ant 是否提供了绕过依赖的方法?

    build xml 有一个test and a build目标 这test目标显然取决于build目标 我怎样才能只运行测试目标 暂时地跳过编译 而不修改 build xml 文件 我这样问是因为编译太长 并且通过持续集成服务器保持最新 我
  • 排除jar中的文件进入apk

    我最近添加了一些新的罐子到我的android项目 一些 jar 包含 version properties 其中之一甚至包含 README TXT 我如何告诉 eclipse adt ant 排除文件进入 apk 显然我可以解压 apk 删
  • PHP Define() 似乎不能与 include() 一起使用

    我一直在尝试 OO PHP 目前拥有三个文件 我有一个 class lib php 目前它只有一个databaseServer 类 一个index php 文件和一个definitions php 文件 我想将所有敏感数据库信息放入定义文件
  • EF Core 第二级 thenIninclude 错误

    假设首先有这些模型 Method有一个OriginalCode OriginalCode那有很多Mutants Mutant那有很多ParseSubTrees 现在当查询时Method我希望加载另一个 所以我有以下内容 Method tar
  • 从 colab 中的驱动器中的 python 脚本导入 python 模块

    我目前正在 Google Colab 上开展一个使用 Tensorflow API 的机器学习项目 我创建了一个文件夹并将其上传到谷歌驱动器上以在谷歌Colab上运行 我成功安装了谷歌驱动器并可以运行脚本 但是当我尝试从同一文件夹中的脚本导
  • 如何在 Flutter 移动端、网页端和窗口端添加条件导入?

    我有 flutter 应用程序 它为每个平台 移动 网络 窗口 使用不同的 webview 插件 虽然我有能力import平台基于web and mobile 我无法导入 Windows 版本 如果不是移动或网络 我尝试添加其他条件 但它需
  • 如何更改 ant 的 JAVA_HOME?

    我正在没有 root 的类服务器上进行 java 工作 每当我尝试使用 ant 进行编译时 它都会指向错误的目录 usr tomcat代替 usr tomcat jre 设置用户帐户时我们被告知要做的事情之一是添加export JAVA H
  • R read_excel:libxls 错误:无法解析文件

    我试图使用 readxl read excel 将 xls 文件读入 R 但它给出了以下错误 Error filepath data xls libxls error Unable to parse file 还尝试了 readxl exc
  • Visual Studio IIS 工作正常,但在 IIS 7 脚本中托管时获取错误的 URL?

    Hi 我有一个 ASP NET MVC 站点 我在 MasterPage 中使用以下链接
  • 在 SQL Developer 中导入数据时读取时间戳

    我正在尝试使用 SQL Developer 中的数据导入向导将文本文件读入 Oracle 数据库 我被困在第 5 步 因为我无法在导入之前获取验证参数以在我的设备上成功timestamp字段 回到步骤 4 我尝试更改我的数据类型timest
  • 如何删除其他目录中不存在的文件?

    我有两个目录 我们称它们为src and build 我的构建系统可以正常工作 因此对于所有具有更新时间的文件src比在build它从复制文件src to buid并进行一些转换 缩小 版本控制等 否则会跳过 因为文件被认为是最新的 然而
  • 将 SPSS 数据集导入 Python

    有没有办法将SPSS数据集导入Python 最好是NumPy rearray格式 我环顾四周但找不到任何答案 Joon SPSS 与 Python 进行了广泛的集成 但这意味着与 SPSS 现在称为 IBM SPSS Statistics
  • JS 导入模块并在页面加载时运行

    我想使用 html onload 事件和从另一个 generateObject js 文件导入的 console log 文本来调用我的函数 main 但是当我导入函数时 onload 事件停止工作并且函数 main 不再使用 html 生

随机推荐

  • 构造函数调用存储在哪里?栈还是堆?

    创建对象并调用构造函数时 构造函数调用存储在哪里 它在堆栈上还是堆上 构造函数调用的参数和局部变量存储在堆栈中 直到构造函数返回 The object that the constructor creates is stored in th
  • 关于 iPhone/iPad 放弃构建行为的非常棘手的问题

    事情是这样的 设想 我得到了一个 ipa 文件 这是存档 共享过程的结果 使用 XCode ipa 文件使用临时分发证书进行签名 并且 它可以毫无问题地安装 应用程序在钥匙串中保存一些信息 使用我刚刚制作的构建可以毫无问题地访问它 之后 我
  • gcc -Wshadow 太严格?

    在以下示例中 class A public int len void setLen int len len len warning at this line private int len gcc 与 Wshadow 发出警告 main c
  • 从 HTML 生成 Emmet 代码 - 反向操作

    我说的是 Emmet io 以前的 Zen Coding 是否有 JavaScript 代码或 jQuery 插件可以反向执行此操作 Example emmet ul gt li 3 gt ul li li li li li li ul 我
  • bash 稳健性:为了“退出时”清理例程的目的,什么是正确且可移植的陷阱方法?

    当我创建想要在脚本退出时删除的临时文件时 我通常会在 EXIT 上设置陷阱 像这样的东西 function cleanup if d mytmp then rm rf one file system mytmp fi trap cleanu
  • 检查字符串是否至少包含 10 个数字、12 个大写字母和 20 个小写字母

    至少有 10 个数字 12 个大写字母和 10 个小写字母的正则表达式可能是什么 该字符串可以以上述任何一个开头 并且可以是随机的 放置 例如 AB12jgGGfWisLWfoi34R32SgD42DSf3453jfh I used d d
  • 省略空自定义类型的 JSON

    我正在尝试为可能的情况编写一个自定义封送拆收器nil数据库类型 它的结构与sql NullFloat64 type type NullFloat64 sql NullFloat64 func ni NullFloat64 MarshalJS
  • React Native 键盘白色闪烁

    在我的 React Native 应用程序中显示和隐藏键盘时 键盘所在的位置会出现白色闪烁 请参阅以下内容 https photos app goo gl Bwmin9T1R4OAO9tB3 https photos app goo gl
  • Spring @ExceptionHandler 不适用于 @ResponseBody

    我尝试为rest 控制器配置一个spring 异常处理程序 该控制器能够根据传入的accept 标头将映射渲染到xml 和json 它现在抛出 500 servlet 异常 这有效 它获取了 home jsp ExceptionHandle
  • 向 python 对象添加新的成员变量?

    我已经开始阅读 Magnus Lie Hetland 的 Beginning python from novice to professional 今天让我印象深刻的是对象创建新成员变量的能力 即使这些成员变量不存在于该对象所在的类中被 创
  • 使用 wpf 中的自定义 TextElement 扩展 FlowDocument

    我想通过创建我自己的 Span 和 Run 衍生产品来扩展 FlowDocument 的功能 这可能吗 有人找到任何例子吗 微软没有公开渲染自定义所需的方法文本元素 http msdn microsoft com en us library
  • WildFly (JBoss) 下的 JTDS 模块

    我正忙着从 JBoss 7 1 1 升级到 Wildfly 8 0 0 Beta1 我在 JBoss 下使用 JTDS 数据库驱动程序没有问题 但它在 WildFly 下无法工作 我已经创建了 net sourceforge jtds ma
  • Pycharm - 在调试器中启用自动换行

    例如 在 Pycharm 2017 3 的调试器中 当我打印一本大字典时 它全部在一行上 我希望这本词典能够换行 这样我就可以看到更多内容 我相信以前版本的 PyCharm 具有这种包装行为 我查看了设置 只能找到编辑器的自动换行 For
  • 如何知道MKMapView的visibleMapRect是否包含坐标?

    如果我有 MKMapView 和 CLLocationCooperative2D 如何测试地图的可见区域是否包含坐标 最快的方法是使用内置的苹果功能 这将使此类事情变得超级快 if MKMapRectContainsPoint mapVie
  • 附加操作按钮在 Flask-admin 上不起作用

    我正在尝试向 Flask admin 表单添加一项操作 它必须增加评级 1 并且它适用于批量操作 但不适用于单个操作 请帮我找到这个错误 我花了很多时间试图让这个东西正常工作 这是代码 我在 templates 文件夹中制作了一个 html
  • 我可以更改 Azure Function Event Hub 触发器启动检查点吗?

    当我使用新的消费者组建立一个新的 Azure Function 来侦听我们的事件中心时 它会获取曾经发送到事件中心的所有消息 甚至是几个月前的消息 我认为将集线器上的消息保留设置为一天会限制这一点 但显然不是 不管怎样 我真的只希望新的 A
  • 收到“未安装 qmlscene”。 “Ubuntu”上“QT CREATOR”中的警告

    我将 QTStatic 添加到 QT 版本 但我无法使用此版本在套件选项卡中构建和设置 我上传了下面的屏幕截图 请帮助 版本选项卡屏幕截图 https i stack imgur com rpaGB jpg 套件选项卡屏幕截图 https
  • 如何在 Rails 视图中呈现所有评论?

    我是 Rails 新手 所以放轻松 我创建了一个博客 我已成功实施评论并将其附加到每个帖子中 现在 我想在侧边栏中显示所有帖子的最新评论列表 我认为这里涉及两件事 对comment controller rb的更新 然后是从实际页面的调用
  • postgresql - 替换文本字段中字符串的所有实例

    在 postgresql 中 如何替换数据库列中字符串的所有实例 假设我想替换所有实例cat with dog 例如 最好的方法是什么 你想使用 postgresql 的replace http www postgresql org doc
  • Ant 任务

    我现在看到 Ant 既有