为什么选择 Phing/Ant 而不是 Bash 和 Make? [关闭]

2024-02-04

我一直在工作中使用 Phing(它是我到达那里时设置的),并考虑将它用于一些个人项目。我还没有弄清楚的一件事是最大的吸引力是什么?

Phing 或 Ant 的杀手级功能(如果有的话)是什么?人们选择使用它们而不是(例如)仅执行构建操作的 bash 脚本集合的主要原因是什么?我确信我错过了显而易见的事情,希望有人可以帮助我。虽然我知道有些人可能不喜欢使用 phing/ant,但我希望听到以下人士的意见do更喜欢他们why他们更喜欢他们。这样我就可以做出更明智的决定。

感谢您提供任何方向或链接。


Ant 的主要功能是让你的一天变得沮丧,当你知道你可以在 Makefile 中 30 秒内实现某些目标,但最终却与 Ant 战斗了一个小时:)

这是一个全新的实现,不需要功能性 shell 以及您期望 shell 提供的所有其他标准命令。我认为这是真正的杀手级功能 - 您可以在 Windows 操作系统上使用它。

Ant XML 更加结构化和机器可读 - 而 Makefile+shell 本质上是图灵完备且极其通用的。您的 IDE 希望能够理解 Ant XML,但在一般情况下对于 Makefile 却不能这样说。

遗憾的是,经过这么长时间,现实似乎是 IDE 并没有充分利用这一潜在的胜利。举个例子,在 Eclipse 中打开 build.xml 只会显示 XML。

我认为这只是 Windows 操作系统的基本原理。如果没有 Windows 操作系统,可能也不会有 Ant。

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

为什么选择 Phing/Ant 而不是 Bash 和 Make? [关闭] 的相关文章

  • unix 下日期字段排序

    我有包含数十万条记录的文本文件 其中一个字段是日期字段 有没有办法根据日期字段对文件进行排序 09 APR 12 04 08 43 632279000 AM 19 MAR 12 03 53 38 189606000 PM 19 MAR 12
  • Python 3.4.3 subprocess.Popen 在没有管道的情况下获取命令的输出?

    我试图将命令的输出分配给变量 而不让命令认为它正在通过管道传输 原因是 如果正在通过管道传输 则相关命令会给出未格式化的文本作为输出 但如果从终端运行 则会给出颜色格式化的文本 我需要获取这种颜色格式的文本 到目前为止我已经尝试了一些事情
  • awk 脚本中出现“BEGIN 块必须有操作部分”错误

    这是我的代码 bin sh filename usr bin find name INSTANCE log echo filename is filename awk BEGIN print Processing file filename
  • 如何更改 ant 的 JAVA_HOME?

    我正在没有 root 的类服务器上进行 java 工作 每当我尝试使用 ant 进行编译时 它都会指向错误的目录 usr tomcat代替 usr tomcat jre 设置用户帐户时我们被告知要做的事情之一是添加export JAVA H
  • 将 JSON 导出到环境变量

    如果我有这样的 JSON hello1 world1 testk testv 我想将每个键值对导出为环境变量 如何通过 shell 脚本来做到这一点 例如 当我在终端上写时 echo hello1 world1应该打印其他键值对吗 注意 上
  • 在 bash 中添加(收集)退出代码

    我需要依赖于脚本中的几个单独的执行 并且不想将它们全部捆绑在一个丑陋的 if 语句中 我想使用退出代码 每次执行并添加它 最后 如果这个值超过阈值 我想执行一个命令 伪代码 ALLOWEDERROR 5 run something RESU
  • 关键字“if”如何测试一个值是真还是假?

    在 bash 脚本中 if 1 then echo Yes else echo No fi Output Yes 它表示 1 被视为真值 但在代码中 word Linux letter nuxi if echo word grep q le
  • 找不到包“gdk-pixbuf-2.0”

    我正在尝试在 Amazon Linux 发行版实例上构建 librsvg 我已经通过 yum 安装了大部分依赖项 其中一些在实例上启用的默认 yum 存储库中不可用 因此必须从头开始构建它们 我已经走了很远 但还停留在最后一点 跑步时sud
  • 使用 SIGINT 默认处理程序时从 system() 返回值

    我遇到了一些奇怪的返回值system 当子进程从终端接收到 SIGINT 时 解释一下 从 Perl 脚本parent pl I used system 运行另一个 Perl 脚本作为子进程 但我还需要通过 shell 运行子进程 所以我使
  • UNIX 统计时间格式

    是否可以格式化 stat 的时间输出 我在用 stat c n A z filename 在 bash 脚本中 但它的时间格式不是我想要的 是否可以在命令中更改此格式 或者我必须稍后手动执行此操作 示例输出如下 lib drwxr xr x
  • 如何从shell脚本自动登录MySQL?

    我有一个 MySQL 服务器 其中有一个用户和密码 我想在 shell 脚本中执行一些 SQL 查询而不指定密码 如下所示 config sh MYSQL ROOT root MYSQL PASS password mysql sh sou
  • 在ant中,如何在文件列表上应用目标(没有ant-contrib)?

    基本上我想模仿apply任务 而不是传递给它executable 我想传递一个 ant 任务并提出类似的东西
  • Bash while 循环等待任务完成

    我创建了一个 bash 脚本来处理文件夹及其子文件夹中的视频 find type f name mkv while read file do ffmpeg i file done 问题 它不是 while 循环等待 ffmpeg 完成 而是
  • 如果其中一个 ant 测试失败,如何使 Jenkins 显示失败

    我有几个测试应该执行 无论彼此是否成功 我希望 Jenkins Hudson 显示red如果这些测试中至少有一项失败 则灯亮 我当前的 为了清楚起见而简化 配置如下 ci sh ant 构建 xml
  • 使用 shell 脚本将行附加到 /etc/hosts 文件

    我有一个新的 Ubuntu 12 04 VPS 我正在尝试编写一个安装脚本来完成整个 LAMP 安装 我遇到问题的地方是在 etc hosts文件 我当前的主机文件如下所示 127 0 0 1 localhost Venus The fol
  • 检查 Git 中是否需要 pull

    如何检查远程存储库是否已更改并且需要拉取 现在我使用这个简单的脚本 git pull dry run grep q v Already up to date changed 1 但它比较重 有没有更好的办法 理想的解决方案是检查所有远程分支
  • 在 bash 脚本中检测鼠标点击

    我想知道如何在后台运行 bash 脚本 每当用户单击鼠标时该脚本都会执行某些操作 即运行脚本或命令或其他任何内容 即使终端关闭 我也希望它继续运行 有任何想法吗 谢谢 如果您使用的是X11 您可以尝试xdotool捕获鼠标事件 它会是这样的
  • 通过eclipse运行ant找不到环境变量,但是通过终端运行ant就可以了

    当我通过 Eclipse 运行 ant 时 一些目标构建得很好 但那些需要特定环境变量 即我在 profile 文件中设置的 SOME SDK 的目标将无法工作 即使我尝试回显 env JAVA HOME Ant 通过 eclipse 也只
  • 终端关闭时 bash 收到的信号

    使用 trap 来捕获信号 如下所示 i 1 while i lt 33 do trap echo i gt gt log txt i done 并强行关闭终端 那么log txt中的内容就是 redhat linux下 1 18 1 17
  • 为什么 Git Bash 无法运行我的可执行文件?

    I am on git for windows https github com git for windows 吉特 巴什 我无法在命令行上运行可执行文件 Pedr Abc 07 MINGW64 c dev ls sqlite3 exe

随机推荐

  • 菜单和下拉菜单之间的空间

    我希望下拉菜单显示在主菜单区域的边框线下方 而不是显示在 菜单 标题 按钮的正下方 我可以更改位置 使其更低 但中间存在死区 导致无法将鼠标悬停在下拉菜单上 我不想在下拉菜单上方添加填充 因为这只会创建更多的紫色空间 我希望该空间为空 下面
  • C++ 如何将参数隐式转换为比较器,例如 <?

    我原以为这将是一个通过谷歌解决的简单问题 但我似乎找不到明确的 甚至是推测性的 答案 使用比较器语句时 隐式转换按什么顺序发生 int i 1 size t t 1 bool result i lt t 这是否相当于 bool result
  • 同一表达式中多个参数包的多次展开

    我想问一下下面的代码是否有效 我想知道是否有可能在一个表达式中多次扩展参数包 include
  • 自动调整 UITableViewCell 的两列大小

    我有一个 UITableViewCell 其中有两列 每列都是一个 UILabel 每个标签都是多行 numberOfLines 0 我想要的是根据较高的标签来垂直调整表格视图单元格的大小 我为每个标签的左右和顶部设置了约束 但我不确定如何
  • 基本简单 Asp.net + jQuery + JSON 示例

    我正在尝试学习如何从 Javascript jQuery 对服务器进行简单的调用 我一直在努力学习 但找不到包含这些简单步骤的教程 我想用两个参数 一个日期时间和一个字符串 向服务器发送一条消息并返回一个日期时间 我想通过 JSON 来做到
  • Win32 安装程序:有没有办法为每个用户写入 HKU 启动?

    是否有一个 Windows 安装程序可以为每个用户添加启动项 例如
  • Android自定义圆形ProgressBar方向

    我有一个自定义的圆形进度条 这是我确定的可绘制对象
  • 如何让这个java动画流畅呢?

    我需要用我的框架及其内部面板进行动画运动 当用户单击特定的内部面板 框架内部的面板 时 另一个面板将添加到框架的contentPane然后框架和新面板的宽度都会增加 但我总是希望我的框架位于屏幕中间 我用这种方式解决了动画 Containe
  • 摆脱WPF中的按钮边框?

    i am trying to get rid of button border and only display text however a thin line around the text gets displayed even th
  • 如何从下拉列表中传递选定的值并将其作为 Rails 中级联下拉列表的参数进行访问

    Edited 我正在尝试实现级联下拉菜单 在我的第一个下拉列表中 我得到了所有不同的名称 选择名称时 如何访问该值并将其传递给控制器 模型 以便我可以根据值进行过滤并将其绑定到下一个下拉列表 在我的模型中 我有以下范围 scope dist
  • 仅使用辅助全局索引查询 Dynamodb 表

    我尝试使用辅助全局索引查询 Dynamodb 表 但收到 java lang IllegalArgumentException 非法查询表达式 在查询中找不到哈希键条件 我想做的就是获取时间戳大于某个值的所有项目 而不考虑密钥 时间戳不是键
  • JavaScript 正弦波

    track function x y top ampl return top top 2 x x ampl Math sin top 20 y top this screenHeight lt 0 65 y 2 1 y ampl Math
  • 多级视图:expandablelistview

    我正在尝试编写多级树 我确实看过expandablelistview 但它只支持两个级别 我确实查看了其他问题 SO 和帖子 我发现的最有希望的帖子是http mylifewithandroid blogspot com 2011 02 3
  • Py2Exe,[Errno 2]没有这样的文件或目录:'numpy-atlas.dll'

    我在我的程序中包含了 matplotlib 我在谷歌上搜索了 numpy atlas dll 我似乎是地球上唯一遇到这个问题的人 setup py from setuptools import setup import py2exe set
  • 二维中两个向量的平分线(可能共线)

    一般如何找到两个向量的二等分 b bx by 我们考虑两个非零向量 u ux uy v vx vy 可能是共线的 对于非共线向量我们可以写 bx ux u vx v by uy u vy v 但对于共线向量 bx by 0 Example
  • WPF TreeView SelectedItemChanged 未触发

    我正在尝试创建一个 TreeView 它允许用户重命名 TreeView 中的节点 该树表示 HL7 消息 并按从段到子组件的层次结构进行构建 例如 PID PID 1 PID 2 etc 我需要允许用户选择一个节点 按 F2 将节点置于编
  • getMethod("summary",signature = "FitDiff") 中的错误

    我正在使用比较 lavaan 对象semTools compareFit 它抛出一条非常奇怪的错误消息 我还尝试了以下可重现的示例 data HolzingerSwineford1939 package lavaan HS modelA l
  • 使用 jQuery 检测首页加载?

    我需要检测 jQuery 中页面的首次加载 以便仅在用户第一次导航到该页面时加载页面时才能执行某些操作 类似于服务器端代码页 ispostbasck 我已经测试了 document ready 每次页面加载时它都会触发 因此这不会提供我需要
  • JOOQ Oracle 数字精度和 Java 数字映射

    谁能告诉我或提供关于 oracle 数字精度和 java 类型之间映射的参考 即数字 x 在什么时候映射到短整型 整型 长型 BigInteger 等 Java 整数类型与 Oracle 并不完美匹配NUMBER类型 本质上 有两种方法可以
  • 为什么选择 Phing/Ant 而不是 Bash 和 Make? [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 我一直在工作中使用 Phing 它是我到达那里时设置的 并考虑将它用于一些个人项目 我还没有弄清楚的一件事是最大的吸引力是什么 Phing 或