performance - Ant 任务与 Shell 脚本

标签 performance shell ant

我在办公室的很多地方都看到 ant tasks用于将文件从一个地方移动到另一个地方,并对这些文件执行一些任务。但是所有这些都可以通过 shell scripts 来完成.

我的问题是,

什么情况下是 ant优于 shell scripts

使用ant有什么好处?超过shell scripts用于执行同一组任务。

一个优势ant有一点是它可以在所有平台上运行,除此之外还有performance相关优势?

最佳答案

关于为什么 ANT 应该优先于 shell 脚本的问题有两个方面:

  1. ANT 是一种已被广泛采用的工具,并且有可能 已安装在开发人员的工作站上。与一个相比 与它的主要前身 make 相比,ANT 更加标准化, 跨平台。
  2. ANT 是开发人员熟悉的工具。用于构建他们的代码,因此他们经常扩展 ANT 脚本来部署他们的应用程序 出色地。事实上,许多供应商为此目的提供 ANT 任务。

确实没有任何性能优势。 Java 对于命令行使用来说速度很慢。

但是......我建议不要打“性能”牌。让我们假设您的应用程序不支持 Windows(考虑到 Java 应用程序应该支持所有平台,这很奇怪......):我已经看到 shell 脚本驱动的部署陷入困惑,试图协调不同 UNIX 操作系统命令的各种工作方式。 “tar”、“awk”等命令可能略有不同,这会导致脚本中出现额外的平台支持逻辑。

总之,我两者都不会使用。我选择使用 groovy 的混合方法用于一般脚本编写。它是一种基于 java 的脚本语言,并且嵌入了 ANT 的全部功能。作为一种基于 java 的脚本语言意味着它可以在所有平台上运行。为了公平起见,还应该指出的是还有其他语言选项。 Ruby 当然值得一提,因为它催生了一套非常值得评估的配置管理技术。 (参见ChefPuppet)

关于performance - Ant 任务与 Shell 脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16882539/

相关文章:

java - Maven clean install 等于 mvn clean 和 mvn install 之后?

python - 希望加快这个最大成对产品

string - Unix解析ksh中的管道分隔格式字符串

linux - shell : 向命令传递了多少个参数

bash - 在crontab中调用时,带有hive命令的shell脚本未将数据写入文件

maven-2 - 我应该从 Ant 迁移到 Maven 吗?

asp.net - ASP.NET 应用程序中什么消耗了超过 65% 的时间?

Javascript 性能 - Dom Reflow - Google 文章

java - 如果没有安装 Java,带有捆绑 JRE 的应用程序将无法运行

java - Ant 不构建第二个 jar