为什么选择 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? [关闭] 的相关文章

  • 如何摆脱每个新终端会话上运行的某些内容?

    我正在使用狮子 我在每个新的终端会话上都会输出一个错误 bash rvm add to path command not found 这是一个几乎全新的用户帐户 RVM 安装在计算机上的另一个帐户上 bashrc 和 bash profil
  • 如何“grep”连续流?

    可以用吗grep在连续的流中 我的意思是有点tail f
  • Bash 完成脚本在某些参数选项后完成文件路径

    我正在为命令行工具编写 bash 完成脚本 plink local cur prev opts COMPREPLY cur COMP WORDS COMP CWORD prev COMP WORDS COMP CWORD 1 opts 1
  • 在 Java 构建过程中更改常量的最佳方法

    我继承了一个在 Tomcat 下运行的 Java 应用程序 servlet 由于历史原因 根据应用程序的部署位置 本质上是品牌问题 代码具有不同的 外观和感觉 选项 有几个常量控制这个品牌过程 它们具有不同的功能 不应压缩为单个常量 即 B
  • 参考当前命令的先前参数

    例如 我想执行以下操作 mv xxxx xxxx bak 我知道我可以使用这个命令 mv xxxx bak 我认为这在某种程度上并不直接 如果我能做到这一点那就太好了 mv xxxx 1 bak 有时我需要这样 echo xxxx yyyy
  • 如何在Windows Git shell中运行./script.sh?

    也许这很尴尬 但是当我在 Git shell 中工作时 我无法在 Windows 上运行 sh 文件 也许我必须安装一些东西 但我认为 Git 会支持 bash 命令 我知道 Windows 不使用 sh 文件 我正在执行安装步骤游戏结束
  • 从重定向到日志文件的程序输出中删除进度条

    我正在运行一个程序 它会输出进度条 我是这样做的 python train py tee train log The train log看起来像下面这样 这是1号线 Training 这是2号线 000 valid 100 2630 263
  • 子 shell 何时继承其父 shell 环境?

    什么情况下将shell的环境传递给子shell 子 shell 始终从父 shell 获取所有变量 man bash将描述所有使用子shell的情况 主要是 command command command and command 所谓环境只
  • 将 stdout 作为命令行 util 的文件名传递?

    我正在使用一个命令行实用程序 该实用程序需要传递文件名以将输出写入 例如 foo o output txt 它唯一写入的东西stdout是一条消息 表明它运行成功 我希望能够通过管道传输写入的所有内容output txt到另一个命令行实用程
  • 通过 SSH 将变量传递给远程脚本

    我正在通过 SSH 从本地服务器在远程服务器上运行脚本 首先使用 SCP 复制该脚本 然后在传递一些参数时调用该脚本 如下所示 scp path to script server example org another path ssh s
  • 使用Sed查找并替换json字段

    我有一组 json 文件 其中在最后一个键值对之后有需要替换的逗号 RepetitionTime 0 72 TaskName WM Manufacturer Siemens ManufacturerModelName Skyra Magne
  • Bash 脚本 - 迭代 find 的输出

    我有一个 bash 脚本 其中需要迭代 find 命令输出的每一行 但似乎我正在迭代 find 命令中的每个单词 以空格分隔 到目前为止我的脚本看起来像这样 folders find maxdepth 1 type d for i in f
  • CentOS目录结构是树形的吗?

    CentOS 上有相当于树的东西吗 如果你的 Centos 系统上没有安装 tree 无论如何我通常建议服务器设置使用最小安装磁盘 你应该在命令行中输入以下内容 yum install tree y 如果没有安装 那是因为您没有正确的存储库
  • 命令运行时从 shell_exec 命令获取输出

    我正在编写一个 PHP 脚本网页 该网页旨在接受先前上传到服务器的 JFFS2 图像的文件名 然后 该脚本将使用映像重新刷新服务器上的分区 并输出结果 我一直在用这个 tmp shell exec update flash v filena
  • 如何在bash中列出所有后台pid

    要么我无法正确表达我的搜索 要么答案不容易找到 但我正在尝试找出如何列出我的所有后台任务 PID 例如 到目前为止 我发现要列出我们使用的最后一个 PID 但现在我想列出之前任务的 PID 如果存在 但我找不到如何做到这一点 最终我想列出我
  • Mac OS X 中 Bash 脚本中的 SFTP 命令

    我需要使用 SFTP 和 SSH 从 Mac 主机将文本文件传输到远程 PC freeSSH 这两个连接在本地网络中 那么有没有办法从 Bash 脚本内部运行 SFTP 命令 使用提供的用户名和密码 我已经尝试过一些脚本expect 但我没
  • 如何调用位于其他目录的Makefile?

    我正在尝试这样做 我想打电话给 make Makefile存在于其他目录中 abc可以使用位于不同目录中的 shell 脚本的路径 我该怎么做呢 由于 shell 脚本不允许我cd进入Makefile目录并执行make 我怎样才能编写she
  • 将 JSON 数组转换为 bash 数组并保留空格

    我想将 JSON 文件转换为 bash 字符串数组 稍后我可以对其进行迭代 我的JSON结构如下 USERID TMCCP CREATED DATE 31 01 2020 17 52 USERID TMCCP CREATED DATE 31
  • 在 docker 镜像 python:3.9.13-alpine3.16 上使用“pip install psutil”错误:找不到 linux/ethtool.h

    我尝试在 docker 中安装 python 模块 psutilpython 3 9 13 alpine3 16但它报告了以下错误 Building wheels for collected packages psutil Building
  • 如何将长选项与 Bash getopts 内置一起使用?

    我正在尝试解析 tempBash getopts 的选项 我这样调用我的脚本 myscript temp foo bar someFile 这是我用来解析选项的代码 while getopts temp shots o option do

随机推荐

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

    我希望下拉菜单显示在主菜单区域的边框线下方 而不是显示在 菜单 标题 按钮的正下方 我可以更改位置 使其更低 但中间存在死区 导致无法将鼠标悬停在下拉菜单上 我不想在下拉菜单上方添加填充 因为这只会创建更多的紫色空间 我希望该空间为空 下面
  • 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 或