java - 什么是构建自动化软件(例如 Ant)?

标签 java ant build-process

我经常看到 ant 的引用,但我不明白它的确切含义是什么?据我所知,它应该编译你的项目,但我不能通过点击 Run->Run in eclipse 来做到这一点吗?

编辑:我想我应该改写我的问题。我已经知道 ant 是一个“构建自动化软件”,我的问题是,构建自动化到底是什么?我认为你应该测试你的应用程序,当它运行时,你点击 Eclipse 中的“构建”按钮或通过命令行 java,它会生成一个 .jar 文件吗?那么为什么需要“自动化”这个过程呢?

最佳答案

I already know that ant is a 'build automation software', my question is, what exactly is build automation? I thought that you're supposed to test your app, and when it is running you click the 'build' button in eclipse or through command-line java, and it makes a .jar file out of it? So why do you need to 'automate' this process?

并非所有的 Java 开发都是通过 eclipse 完成的,也不是所有的 jars 都可以从命令行构建(或者应该从命令行构建)。

您可能需要额外运行测试用例、单元测试和许多其他过程。

ant 所做的是提供一种机制来自动化所有这些工作(因此您不必每次都这样做),也许您可​​以在每天下午 6 点调用这个 ant 脚本。

例如,在某些项目中,需要每日构建,以下是可能用 ant 自动化的任务,因此它们可以在没有人工干预的情况下运行。

  • 连接到颠覆服务器。
  • 下载/更新到最新版本
  • 编译应用程序
  • 运行测试用例
  • 打包应用程序(在 jar、war、ear 或其他中)
  • 将此构建二进制文件提交给 subversion。
  • 在远程服务器中安装应用程序
  • 重启服务器
  • 发送一封包含工作摘要的电子邮件。

当然,这对于其他项目来说是多余的,但对于其他一些项目却非常有帮助。

关于java - 什么是构建自动化软件(例如 Ant)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/610732/

相关文章:

java - 如何在Java(TelNet)中实现接收套接字的事件?

java - 无法在现有 Apache Ignite 单节点集群中创建缓存

java - 最好的 Ant 教程/快速入门?

qt - 使用 Jenkins 配置 Qt 构建

javascript - 使用 npm 作为构建工具无法完成的事情?

java - 从java注释生成swagger文档,缺少安全定义

java - 如何在 Hibernate 中限制集合的内容

java - 什么会使 Ant 在 Eclipse 中使用 UTF-8 而不是我的系统默认 Cp1252 执行 'javac'?

java - ANT 可以在远程服务器上启动重启作业吗?

tfs - 有没有更好的方法来查看团队构建日志?