首页 > 解决方案 > 用于 Java 的构建工具

问题描述

我目前正在参加一些在线课程来更新我对 Java 和 Python 的了解。我还在两台不同的机器上练习使用 Git 和 GitHub 来感受版本控制(这就是产生这个问题的原因)。

本质上,我的学校项目所依赖的一台机器上有一些 JAR 文件。完成项目后,我将其推送到我的 GitHub 存储库,然后尝试在新计算机上克隆该存储库。

当我查看克隆的存储库时,我注意到 JAR 文件不存在。所以经过大量的挖掘,我发现我的 .gitignore 中所有的 JAR 文件都被忽略了(我为 netbeans 下载了一个通用的 .gitignore 模板)。

我决定研究为什么您可能要忽略 .JAR 文件。我没有找到答案,但我确实找到了这个问题,并且它是关于如何添加 .JAR 文件的公认答案。我已经弄清楚了那部分,但回答者也说:

“另外我建议你使用构建管理器作为 Maven、Gradle 或 Ant 来添加你的依赖项。”

所以我的问题:

1.) 使用第三方工具构建应用程序与将 .JAR 文件添加到 GitHub 存储库有什么关系?

2.) 默认忽略 JAR 文件的原因是什么?

3.) 新的计算机程序员应该关心使用这些工具之一吗?(我几乎不明白以任何方式构建和编译之间的区别)。

标签: javagitgradleversion-controlant

解决方案


git、svn 和 cvs 等版本控制工具旨在对代码进行版本控制,而不是二进制文件,尤其是未编译的代码。

将 jars 添加到项目的源代码中也会使该项目变得更大。

如果您确实想在某个地方“保存”您的 jar,您将使用存储库和依赖管理工具,例如 Maven Central、Ivy 或 Gradle。

编辑

您开发一个项目,即您编写代码并将其提交给 git。您使用 git 来处理不同版本的代码并与其他开发人员协作。您的代码可能具有依赖关系,例如 log4j 或其他。您可以使用 Maven / Ivy / Gradle 从 jar 存储库中动态获取这些内容。这样,我可以快速克隆您的项目(源),然后从中央源获取依赖项。它避免了在 N 个不同项目中复制库。


推荐阅读