为什么需要像Gradle和Maven这样的工具存在?

问题描述 投票:0回答:1

我正在尝试开始 Minecraft 模组的开发。我拥有计算机科学的大部分学位,但在我那个时代(2000 年代中期),他们教我们在记事本中编写 Java(我什至没有开玩笑)以及亚利桑那大学的一些本土程序,这些程序已经离开了互联网内存(JGrasp?也许?)。在大学之外,我从未听说过它,而且由于这些显然是有市场的技能,您可以部分地理解为什么我永远无法被聘用为传统开发人员。另一个主要部分是渗透到 SO 渗透到软件开发中的相同毒性,当这个问题被否决时就会显示出来。 (这一段后面很重要,不要删掉。)

我在 Minecraft 服务器上使用的很多 mod 都有一个 Gradle 文件夹,所以我认为这将是 Minecraft 独有的现成 mod 开发平台。经过一些搜索和观看一些视频后,看来我错了,Gradle 就是所谓的“构建工具”。

这就是我的不理解。 YouTube 上的 Gradle Hero 告诉我 Gradle 所做的一切,我希望 IDE 能够完成,所以我不确定为什么它是分开的。我做了更多搜索,但没有解释这种区别,甚至在这个 SO Q&A 询问 Gradle 是什么 上也没有解释。显然,这不是重复的,而且显然,这是我认为我的问题是合法的理由,尽管它可能会被否决而被遗忘。

我从未见过模块化 IDE,只见过单体 IDE。然而,由于我上面概述的原因,我的经验有限; Excel VBA 和其他几种你从未听说过的小众语言是我真正能够接触到的全部内容,尽管我试图跟踪开发世界中发生的事情。

Gradle 和完整的 IDE 有什么区别?为什么 IDE 不做 Gradle 所做的事情?

gradle build ide
1个回答
0
投票

Gradle 是一个构建工具。它有一个构建模型,包括任务(例如编译源代码或运行测试)和依赖项(例如像 spring 这样的第三方 jar)。可以从命令行调用 Gradle 来编译源代码并将它们打包到 jar/zip/war 等中。

IDE 是一个 GUI,可用于编辑源文件并调用构建任务(例如编译源代码/运行测试)。 Gradle 提供钩子,以便 IDE(例如 Eclipse 或 Intellij)可以调用任务或检查 build.gradle 中声明的依赖项。

一旦您的项目变得更大,您将不会在本地计算机的 IDE 中编译/打包应用程序。相反,您可能会在每次将提交推送到 git 时运行的构建服务器(例如 Jenkins)上运行持续集成 (CI)。该构建服务器很可能是“无头”的,因此 IDE 或 GUI 在那里没有任何意义。构建服务器只需要一个命令行界面来调用来编译/打包您的应用程序。

© www.soinside.com 2019 - 2024. All rights reserved.