gpt4 book ai didi

java - 为什么人们 gitignore .classpath 和 .project?

转载 作者:行者123 更新时间:2023-12-01 12:24:44 26 4
gpt4 key购买 nike

我的一位同事最近在 eclipse 中创建了一个新项目,并使用内置的 git 客户端提交和推送。
在我克隆到我的计算机并用 eclipse 打开后,我发现 eclipse 创建了 .classpath 文件。
.classpath 不是 eclipse 项目(也是 .project)查找引用的 jar 的关键文件吗?
谷歌搜索后我很困惑,看到所有讨论都在谈论忽略它们。
它们对 Eclipse 正常工作不是很重要吗?
为什么人们忽视他们?
如果我没有忽略它们,有什么问题?

最佳答案

这些 Eclipse 专用 文件使它更容易设置 用于 Java 项目的 Eclipse 和 Visual Studio Code。

一般来说, IDE 和工具特定文件 (Eclipse、Jenkinsfile、GitHub 工作流设置等)应该共享 只要它们被使用和维护 .否则,删除它们。

当然,如果你使用 不同的 IDE 比 Eclipse 和 Visual Studio Code并且不要use the Eclipse compiler in IntelliJ IDEA ,这些特定于 Eclipse 的文件是 没用,但没有害处 .只要您不使用文件或文件夹链接(存储在 .project 文件中)等功能,共享这些文件 不会导致IDE锁定 .

在 Maven 和 Gradle 项目中 .classpath文件可以派生自 pom.xmlbuild.gradle文件,但 无法导出的设置 如编译器设置(警告和错误)、格式化程序或保存操作设置(存储在项目的 .settings 文件夹中)应该共享 这样大家都用一样的。

这也适用于 .project 文件,因为它包含项目具有哪些性质以及需要哪些工具。如果缺少某些内容,则会出现一个对话框,询问是否应安装缺少的插件。

Eclipse 将这些文件放入项目文件夹而不是放入 .metadata文件夹,因为它们旨在共享。但是为什么有些人不共享这些文件? 可能是因为历史原因 . 15 或 20 年前,还没有 Git、Maven 和 Jenkins。在这些日子里,Java 应用程序通常是通过手动导出 JAR 或最多通过一些批处理/shell 脚本在开发人员的计算机上构建的。这意味着,在不同的计算机上甚至只是使用不同的 IDE 或 IDE 版本进行相同的构建可能会导致不同的结果,从而造成很多麻烦。 IDE 不可知构建 是这个问题的解决方案。也许这就是为什么今天人们仍然认为一切都必须与 IDE 无关并推荐使用 Maven 或 Gradle。但这些文件是 不共享构建 要运送的产品。希望。

关于java - 为什么人们 gitignore .classpath 和 .project?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60668428/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com