3

嗨,大多数时候我将使用 IDE 选项 Build/Clean 构建 Java 应用程序,然后将 JAR/WAR/EAR 文件导出到桌面,之后将使用服务器管理 url/console 在服务器中部署。但在某些组织中,会在 linux/windows 中使用 ant/maven 脚本构建应用程序。使用IDE和外部脚本有什么区别吗?

4

2 回答 2

2

像 ANT 这样的外部脚本可以为您自动执行任务。当您所做的只是构建一个 .JAR 时,这似乎无关紧要,但是当您开始做更多事情时,它会非常有帮助。

自动构建可以为您做到这一点:

  • 运行您的单元测试并创建一个您可以查看的报告。
  • 编译您的项目(“构建”)
  • 将 .JAR 移动到不同的目录。
  • 通过 FTP 上传到您的服务器。

这意味着您当前所做的一切都可以通过双击 Ant 脚本来完成。Eclipse 甚至支持 Ant,因此您可以在 IDE 中编辑和运行脚本。


只是关于自动化哲学的编辑。假设您当前的过程需要大约 15 分钟来构建一个 .JAR 并将其上传到您的服务器:

  • 一次,15分钟。
  • 两次,30分钟。
  • 四次,60分钟。

你明白了。但是等等,你说,写一个 ANT 脚本……这更难 - 可能需要 8 个小时来了解 ANT 并编写一个有效的脚本。

这是绝对正确的,但让自动化变得伟大的是,现在只需 0 分钟即可完成您的步骤。所以,这个过程看起来像:

  • 编写 ANT 脚本:480 分钟(8 小时)
  • 运行 ANT 脚本:0 分钟

那么你怎么知道你是否需要自动化呢?只需想想您需要执行多少次手动过程。如果您只运行一次,那么比较将是 15 分钟与 480 分钟,您不应该编写脚本。但是,如果您认为您将执行该过程 40 次,那么比较是 600 分钟与 480 分钟,您最好编写一个脚本。

(以上也排除了自动化方面的其他积极因素。例如,手动操作时很容易出错[创建 .JAR 时出错] - 但计算机一旦设置正确就永远不会出错。)

于 2013-03-20T17:08:17.297 回答
2

如果您只需要在 IDE 中将整个项目存档为 WAR 或 EAR ,那么通过 IDE 或彻底的 ANT 构建它并没有真正的区别。

但是,在某些情况下,它需要的不仅仅是存档。例如,您可能想要创建一个 EAR,但不想在其中包含某些 jar。或者,您可能希望在创建 EAR 之前删除所有属性文件。ANT 为您提供了这种灵活性。您可以定义自己的 build.xml 并通过 ANT 运行它。它将创建 build.xml 中定义的 EAR。

由于它是一个自动化过程,因此它花费的时间也更少。因此,如果您需要高频率地创建 WAR 或 EAR,您可能应该使用脚本。他们将为您节省大量时间。

所以基本上自动化和定制是使用 ANTscripts 的两个主要优点

于 2013-03-20T17:37:24.200 回答