我看到github上发布的许多项目都有一个.gitignore文件,显式地排除了与ide相关的控制文件。这些控制文件广泛用于定义项目及其依赖项。对于.net,它们可以是.sln或eclipse。
我想问一下为什么这个实践被广泛应用或者被认为是一个好的实践,因为我同意实现ide中立性(不要将开发人员绑定到特定的ide)是一个好的原则。
相反,这些控制文件通常在多个配置中指定项目依赖项、配置或编译变量(例如.project文件的情况)。
我已经看到大量的忽略Eclipse文件的开源项目,但是到目前为止我还不可能建立一个没有项目文件的开发环境(即使我从现有代码创建一个项目,或者创建一个新项目并导入代码,我总是得到编译错误的全面)。
如果项目文件存在于存储库中,那么使用“下载代码、导入项目并编译源代码”来设置开发环境将非常简单,但它显然会将开发人员绑定到特定的ide(这并不有趣)。
标准化或迁移项目文件超出了问题的范围。
因此,从外部贡献者的角度来看,如何为从github下载源代码的项目构建工作和编译项目环境?(克隆所有子模块后,如果需要)
只需选择一个我想导入到eclipse中的示例项目,分析并稍加修改,here就可以了。

最佳答案

在java世界有很多构建系统(maven、gradle、sbt等)。为ide生成项目文件是小菜一碟。这使得不必将它们签入版本控制,因为它们可以被视为构建工件。
此外,在一个混合的团队中,不同的人使用不同的ide,当有人更新eclipse项目文件时,使用intellij的人突然也需要更新他的项目文件,因为他现在遇到编译问题。而使用生成这些文件的生成系统,则确保它们始终是最新的。以maven为例,在将m2eclipse插件添加到eclipse或使用intellij时,甚至在没有用户交互的情况下也可以做到这一点。
所以我一直主张将项目文件添加到.gitignore

09-04 19:40
查看更多